如何解决zip替代方案,用于迭代两个可迭代对象
from itertools import izip
for i, j in izip(handle1, handle2):
...
如果文件大小不同,则可以使用izip_longest
,因为izip
会停在较小的文件上。
解决方法
我有两个较大的文本文件(约100 GB),必须同时对其进行迭代。
Zip适用于较小的文件,但我发现它实际上是从我的两个文件中列出行的列表。这意味着每一行都存储在内存中。我不需要重复做任何事情。
handle1 = open('filea','r'); handle2 = open('fileb','r')
for i,j in zip(handle1,handle2):
do something with i and j.
write to an output file.
no need to do anything with i and j after this.
zip()是否有替代方法可以充当生成器,使我无需使用> 200GB的ram就可以遍历这两个文件?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。