Я пытаюсь использовать модуль zipfile для чтения файла в архиве. несжатый файл имеет размер ~3 ГБ, а сжатый файл — 200 МБ. Я не хочу, чтобы они находились в памяти, поскольку я обрабатываю сжатый файл построчно. До сих пор я заметил чрезмерное использование памяти, используя следующий код:
import zipfile
f = open(...)
z = zipfile.ZipFile(f)
for line in zipfile.open(...).readlines()
print line
Я сделал это на C #, используя SharpZipLib :
var fStream = File.OpenRead("...");
var unzipper = new ICSharpCode.SharpZipLib.Zip.ZipFile(fStream);
var dataStream = unzipper.GetInputStream(0);
. dataStream несжатый. Я не могу найти способ сделать это в Python. Помощь будет оценена.