Próbuję użyć modułu zipfile, aby odczytać plik z archiwum. nieskompresowany plik ma rozmiar ~ 3 GB, a skompresowany plik to 200 MB. Nie chcę ich w pamięci podczas przetwarzania skompresowanego pliku wiersz po linii. Do tej pory zauważyłem nadużywanie pamięci za pomocą następującego kodu:Przeczytaj duży spakowany plik tekstowy wiersz po wierszu w pytonie
import zipfile
f = open(...)
z = zipfile.ZipFile(f)
for line in zipfile.open(...).readlines()
print line
Zrobiłem to w C# za pomocą SharpZipLib:
var fStream = File.OpenRead("...");
var unzipper = new ICSharpCode.SharpZipLib.Zip.ZipFile(fStream);
var dataStream = unzipper.GetInputStream(0);
strumienia danych jest nieskompresowany. Nie mogę znaleźć sposobu, aby to zrobić w Pythonie. Pomoc zostanie doceniona.
nie można powiedzieć nic lepszego –