La libreria Python tarfile
non rileva un tar rotto.tar.extractall() non riconosce EOF inatteso
[email protected]$ wc -c good.tar
143360 good.tar
[email protected]$ head -c 130000 good.tar > cut.tar
[email protected]$ tar -tf cut.tar
...
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
Molto bello, lo strumento della riga di comando riconosce un EOF imprevisto.
[email protected]$ python
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
>>> import tarfile
>>> tar=tarfile.open('cut.tar')
>>> tar.extractall()
Non bello. La libreria Python decodifica il file, ma non solleva eccezioni.
Come rilevare EOF inatteso con la libreria Python? Voglio evitare il modulo subprocess
.
Il parametro errorlevel
non è di aiuto. Ho provato errorlevel = 1 e errorlevel = 2.
bella cattura! dovresti prendere in considerazione l'apertura di un bug report e inviare la tua soluzione – knitti
@knitti ho aperto un bug report: http://bugs.python.org/issue24259 – guettli
Purtroppo non riesco ad aggiungere un po 'di bounty ad uno esistente ... – knitti