python: пошаговый архив tar с файлами gzip - PullRequest
2 голосов
/ 28 января 2011

У меня есть несколько файлов .tar (без распаковки). Каждый из них имеет несколько файлов .gz.

Мне нужно пройти через файл .tar и получить разархивированное содержимое всех остальных файлов.

так я написал:

#!/usr/bin/python2.5 -u

import tarfile
import zlib

ar = tarfile.open('20101231.tar', 'r')

for item in ar:
    if item.name[-3:] == ".gz":
        print zlib.decompress(ar.extractfile(item).read())

f.close()

но это не работает! Ошибка: «zlib.error: Ошибка -3 при распаковке данных: неверная проверка заголовка»

но я могу сделать 'tar xvf 20101231.tar && gzip -d 20101231 / some_file.gz' и все работает отлично! Но я не могу сделать это из Python

1 Ответ

3 голосов
/ 28 января 2011

Попробуйте tarfile.open('20101231.tar', 'r:'), чтобы явно отключить сжатие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...