有as和先天性闭孔畸形

2024-06-29 00:28:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个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块中删除对文件的控制。我也不想每次访问文件时都打开和关闭它,因为这个程序正在解析数百兆字节的表格数据。提前谢谢你的建议。你知道吗


Tags: 函数forifaswithargssomeopen