为什么zip函数不能用于在python中同时读取大文件?

时间:2017-09-03 09:05:27

标签: python

我需要同时处理两个大文件,这意味着它们的行相互对应,我需要过滤两个文件中的一些行。我正在使用以下代码:

    with open(path1, "r") as fq, \
        open(path2, "r") as ft, \
        open(path3 + ".filter", "w") as wtq, \
        open(path4 + ".filter", "w") as wtt:
    for q, t in zip(fq, ft):
        q, t = q.strip().split(), t.strip().split()
        ...
        wtq.write(" ".join(q) + "\n")
        wtt.write(" ".join(t) + "\n")

但内存使用量逐渐增加,直到程序被杀死。

当我将其更改为以下内容时,它就可以了:

   for q in fq:
        t = ft.readline()
         ...

zip函数如何工作以及如何优雅地同时读取多个大文件?

0 个答案:

没有答案