Прочитайте большой заархивированный текстовый файл построчно в python

Я пытаюсь использовать модуль 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. Помощь будет оценена.

22
задан martineau 14 July 2012 в 15:32
поделиться