Ler um grande arquivo de texto compactado linha por linha em python
Eu estou tentando usar o módulo zipfile para ler um arquivo em um arquivo. o arquivo descompactado é ~ 3GB e o arquivo compactado é de 200MB. Eu não os quero na memória enquanto processo o arquivo compactado linha por linha. Até agora tenho notado um uso excessivo de memória usando o seguinte código:
import zipfile
f = open(...)
z = zipfile.ZipFile(f)
for line in zipfile.open(...).readlines()
print line
Eu fiz isso em c # usando o SharpZipLib:
var fStream = File.OpenRead("...");
var unzipper = new ICSharpCode.SharpZipLib.Zip.ZipFile(fStream);
var dataStream = unzipper.GetInputStream(0);
dataStream está descompactado. Eu não consigo encontrar uma maneira de fazer isso em Python. Ajuda será apreciada.