读取python中的zip文件时出现内存错误

时间:2013-06-20 17:46:27

标签: python file memory zip

我有一个帖子,我正在使用zipfile.ZipFile().read()读取一个zip文件,我收到内存错误。

我知道read()将整个文件加载到内存中。解压缩后的文件大小超过100MB。我也试过了zipfile.ZipFile().open().readlines(),但是花了太多时间。

有没有办法可以快速读取文件而不会出现内存错误?

1 个答案:

答案 0 :(得分:5)

假设您正在尝试读取压缩文本文件,可以将ZipFile.open()返回的类文件对象视为迭代器,并逐行处理...

from zipfile import ZipFile

zip = ZipFile('myzip.zip')
stream = zip.open('myfile.txt')
for line in stream:
    do_something_with(line)