Библиотека Python tarfile
не обнаруживает сломанный tar.
[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
Очень хорошо, инструмент командной строки распознает неожиданный EOF.
[email protected]$ 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.