当前位置: 首页 > 知识库问答 >
问题:

为什么我的代码不写入文件输出?赋值前引用的局部变量

邓昀
2023-03-14

我写了一些代码,通过阅读我的文本文件,找到一组与基因相关的数字,然后用这些数字搜索基因本身,这样我就可以提取一堆包含每个基因的文本文件。我已经成功地得到了数字,但我有问题的文件写作。得到错误“local variable”gene_substring“referenced before assignation”。我做了一些研究,并尝试使用global来修复它,但它在其他地方抛出了错误。

#function to extract the genes by using the numbers in my list
end_file = "/Users...."

def extract_genes(start_stop, genome_sequence):
    for start,stop in start_stop:
        # extracts start:stop gene from the sequence
            if start > stop:
                gene_substring = genome_sequence[0:start] + genome_sequence[stop:]

            # store in file
            with open(end_file + "/" + name + "+" + ".txt", "w",) as file:
                file.write(gene_substring)
#My code to get the output

work_dir = "/Users/"
for path in glob.glob(os.path.join(work_dir, "*.gbff")):
    numbers = extract_numbers(path)
    sequences = extract_seq(path)
    extract_genes(start_stop, sequences)
    print(path)

我该怎么解决这个?谢谢:)

共有1个答案

寿子轩
2023-03-14

变量gene_substring仅在条件start>stop为true时初始化。但如果没有达到要求怎么办?您必须初始化变量gene_substring,或者简单地移动它

with open(end_file + "/" + name + "+" + ".txt", "w",) as file:
                file.write(gene_substring)

进入语句if start>stop:

此外,请确保if语句正确

 类似资料:
  • 我在找两个数的lcm。但是当我运行这个程序时,我得到了一个错误:UnboundLocalError:在赋值之前引用了本地变量'lcm',为什么我会得到这个错误呢?我不明白我的代码出了什么问题。请帮帮我 这是我的代码:

  • 问题内容: 我正在尝试使用XPATH定位器单击包含文本“ Clean feed crm”的span标签。我得到错误: 完整的错误跟踪: 如果我使用绝对完整的XPATH,则效果很好。相对的XPATH显示错误。 可以使用的完整绝对XPATH是: 相对的XPATH不起作用是: HTML是: 我的方法实现是: 从我的TestCase类,我调用方法: Globals.py是: 我也尝试过使用WebDrive

  • 为什么注释掉for循环的前两行并取消注释第三行会导致42%的加速? 在时间的背后是非常不同的汇编代码:循环中的13条和7条指令。该平台运行的是视窗7。NET 4.0 x64。代码优化已启用,测试应用程序在VS2010之外运行。[更新:重现项目,用于验证项目设置。] 消除中间布尔值是一个基本的优化,是我1980年代龙书时代最简单的优化之一。在生成 CIL 或 JITing x64 机器代码时,优化是

  • 好的,我的vs代码正常,然后我重新启动了我的笔记本电脑,没有关闭应用程序。我打开后,几乎所有的文字都是白色的。这不是主题,因为它总是在黑暗中。我想我没有点击任何会导致这一点的重要内容。这样编码真的很难。顺便说一下,这是javascript文件。 正如您所看到的,绿色的注释是白色的,文件导入和橙色的文本是白色的“等待”是指紫色是白色。即使“const”也是白色的。有人知道如何解决这个问题吗?

  • 我甚至不确定这段代码是否能做任何事情,即使它有效,但我不知道该怎么做才能摆脱“从内部类引用的局部变量必须是最终的或有效的最终”错误消息,该错误消息显示在以“fireballRight[i]”开头的三行上。 任何指导将不胜感激,谷歌似乎并没有帮助我。

  • 问题内容: 我想知道你们是否可以提供帮助。我试图做一个简单的视图,它将用户发送到客户端创建表单,但是我一直收到此错误: 赋值之前引用的局部变量“ form” 查看我的代码,看不到有什么问题。 有人告诉我我哪里出问题了吗? 问题答案: 这是正在发生的事情: 没有输入该块。 变量未定义。 然后,你尝试在语句中引用变量。 至于解决方法,这确实是你要决定的。解决的方法取决于你希望代码执行的操作(如果请求方