jestem pobierania skompresowany plik z internetu:Ściąganie dużych plików przez pomyłkę Pythona: Sprężone plik zakończony przed markerem end-of-Stream został osiągnięty
with lzma.open(urllib.request.urlopen(url)) as file:
for line in file:
...
Po pobraniu i przetworzeniu aa dużą część plik, w końcu pojawia się błąd:
File "/usr/lib/python3.4/lzma.py", line 225, in _fill_buffer raise EOFError("Compressed file ended before the " EOFError: Compressed file ended before the end-of-stream marker was reached
myślę, że może to być spowodowane przez internet, że krople lub serwer nie odpowiada za jakiś czas. Jeśli tak jest, to czy jest tak, aby kontynuować próbę, dopóki połączenie nie zostanie ponownie ustanowione, zamiast rzucać wyjątek. Nie sądzę, że jest to problem z plikiem, ponieważ ręcznie pobrałem wiele plików podobnych do tego z tej samej strony internetowej i rozpakowałem je. Mogłem także pobrać i rozpakować kilka mniejszych plików za pomocą Pythona. Plik, który próbuję pobrać, ma skompresowany rozmiar około 20 GB.
Ile czasu zajmuje pobranie pliku, zanim pojawi się błąd? Niektóre ściany ogniowe/serwery proxy wydają się kończyć połączenia po określonym czasie oczekiwania (na przykład 10 minut). Jeśli zawsze kończy się niepowodzeniem po tym samym odstępie czasu, może to być wskazówka ... – DNA
Możliwy duplikat [Python LZMA: skompresowane dane zakończone przed osiągnięciem znacznika końca strumienia] (http://stackoverflow.com/questions/37400583/python-lzma-compressed-data-ended-before-the-end-of-stream-marker-was-reach) – kenorb
Mam ten sam problem podczas próby pracy z bardzo dużym plikiem w Internecie przy użyciu 'urllib .request.urlopen() 'i' gzip'. Około 12 godzin dostaję podobne ślady. – bmende