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



我写了一些代码,可以读取我的文本文件,找到一组与基因相关的数字,然后使用这些数字搜索基因本身,这样我就可以提取一堆包含每个基因的文本文件。我已经成功地把数字弄出来了,但我在写文件时遇到了问题。我得到错误"本地变量"gene_substring"在赋值前引用"。我做了一些研究,并试图使用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)

我该怎么解决这个问题?谢谢:(

变量gene_substring仅在条件start > stop为true时初始化。但是如果这个要求没有得到满足呢?您必须初始化变量gene_substring,或者简单地移动这个
with open(end_file + "/" + name + "+" + ".txt", "w",) as file:
file.write(gene_substring)

进入语句if start > stop:

此外,请确保if语句是正确的

相关内容

  • 没有找到相关文章

最新更新