我正在尝试使用 zipfile 模块来读取存档中的文件。未压缩文件约为 3GB,压缩文件为 200MB。我不希望它们在内存中,因为我逐行处理压缩文件。到目前为止,我注意到使用以下代码的内存过度使用:
import zipfile
f = open(...)
z = zipfile.ZipFile(f)
for line in zipfile.open(...).readlines()
print line
我使用 SharpZipLib 在 C# 中做到了:
var fStream = File.OpenRead("...");
var unzipper = new ICSharpCode.SharpZipLib.Zip.ZipFile(fStream);
var dataStream = unzipper.GetInputStream(0);
dataStream 未压缩。我似乎找不到在 Python 中做到这一点的方法。帮助将不胜感激。