我有一个python函数,其中包含以下代码:
with open(modelfilepath, "rb") as modelfile, open(vcffilepath, "rb") as vcffile:
for row in gtf_getrow(modelfile):
print row
#add features as appropriate
if row["feature"] == "transcript":
addfeature(some args...)
if row["feature"] == "exon":
addfeature(some other args..., vcffile=vcffile)
addfeature()函数的执行在返回到for
循环之前经过几个函数。在“exon”情况下,vcffile
对象作为参数传递给后续函数,这些函数最终写入vcffile
。你知道吗
问题是,经过几次迭代后,vcffile
对象似乎会自动关闭,从而导致程序崩溃。如果我对使用vcffile
直接访问文件名的函数进行硬编码,则不会出现问题,但这似乎是一个不理想的解决方案,因为它会从with块中删除对文件的控制。我也不想每次访问文件时都打开和关闭它,因为这个程序正在解析数百兆字节的表格数据。提前谢谢你的建议。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐