Библиотеката Python tarfile
не открива повреден tar.
user@host$ wc -c good.tar
143360 good.tar
user@host$ head -c 130000 good.tar > cut.tar
user@host$ tar -tf cut.tar
...
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now
Много хубаво, инструментът за команден ред разпознава неочакван EOF.
user@host$ python
Python 2.7.6 (default, Mar 22 2014, 22:59:56)
>>> import tarfile
>>> tar=tarfile.open('cut.tar')
>>> tar.extractall()
Не е добре. Библиотеката на Python декодира файла, но не създава изключение.
Как да открием неочакван EOF с библиотеката на Python? Искам да избегна модула subprocess
.
Параметърът errorlevel
не помага. Опитах errorlevel=1 и errorlevel=2.