如何解决错误-通过更改python3.7中的代码“打开文件过多”

时间:2019-04-23 07:08:48

标签: python-3.7

我正在尝试使用python编写两个文件,但是遇到了这样的错误-

  

OSError:[Errno 24]打开的文件太多:“ unmatch.site_3.txt”。

让我感到困惑的主要是,当我输入两个较小的文件(分别为39M和61M)时,代码可以很好地工作,但是,当输入文件变大到87M时,它就死了。我寻求了一些解决方案,但是我无权更改Linux系统的设置。还有另一种方式来处理它,例如通过修改我的代码。谢谢。

with open(offtarget_output, "w") as fo:
        with open(unmatch_output, "w") as fu:
            header = ["Chromosome", "strand", "Coordinate", "off-target site", "Mutation type", "Distance score", "Reads"]
            print(*header, sep="\t", file=fo)
            print(*header, sep="\t", file=fu)
        for key, value in sorted(match_dic.items(), key=lambda item:item[1][-1], reverse=True):
            if value[4] != "*":
                print(value[0], value[4], key, value[1], value[2], value[3], str(int(value[5])), sep="\t", file=fo)
            else:
                print(value[0], value[4], key, value[1], value[2], value[3], str(int(value[5])), sep="\t", file=fu)

0 个答案:

没有答案