sto scaricando un file compresso da internet:download di file di grandi dimensioni per errore python: File compresso è conclusa prima del marcatore di fine flusso è stato raggiunto
with lzma.open(urllib.request.urlopen(url)) as file:
for line in file:
...
Dopo aver scaricato ed elaborato aa gran parte della lima, alla fine ho l'errore:
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
sto pensando che potrebbe essere causato da una connessione internet che cade o il server non risponde per qualche tempo. In tal caso, è comunque necessario continuare a provare, fino a ristabilire la connessione, anziché lanciare un'eccezione. Non penso che sia un problema con il file, in quanto ho scaricato manualmente molti file simili dallo stesso sito web e lo ho decompresso. Sono anche stato in grado di scaricare e decomprimere alcuni file più piccoli con Python. Il file che sto cercando di scaricare ha una dimensione compressa di circa 20 GB.
Quanto tempo è necessario scaricare per ottenere l'errore? Alcuni firewall/proxy sembrano terminare le connessioni dopo un timeout fisso (ad esempio 10 minuti). Se fallisce sempre dopo lo stesso intervallo di tempo, potrebbe essere un indizio ... – DNA
Possibile duplicato di [Python LZMA: dati compressi terminati prima del raggiungimento dell'indicatore di fine flusso] (http://stackoverflow.com/questions/37400583/python-lzma-compressed-data-ended-before-the-end-of-stream-marker-was-reached) – kenorb
Sto riscontrando lo stesso problema durante il tentativo di lavorare con un file molto grande online usando 'urllib .request.urlopen() 'e' gzip'. Circa 12 ore in ho un traceback simile. – bmende