LINUX.ORG.RU

[python3] Как распаковать Z


0

1

Хочу понять, как можно с помощью модулей Python3 распаковать *.Z file. Хотелось бы иметь кросс платформенное решение. Сейчас делаю так:

   ...
   p = Popen("bash", stdout=PIPE, stdin=PIPE, stderr=PIPE)
   p.stdin.write('gunzip myfile.Z'.encode('utf-8'))
   p.stdin.close()
   ...
Так понимаю в Windows это не пойдет (проверить не могу, не устанавливать же винду из-за этого).

Нужно решение в этом роде: f=tarfile.TarFile(«my.tar»)\ f.extract()

И еще маленький вопрос, как официально называется формат *.Z?

>как официально называется формат *.Z?

man compress

anon_666
()
Ответ на: комментарий от zJes

Я так понял, что в стандартной библиотеке нет классов для работы с Z

alexkarta
() автор топика

>И еще маленький вопрос, как официально называется формат *.Z?

Если я правильно ошибаюсь, .Z - это просто набор байтов, сжатый по алгоритму LZW (Lempel-Ziv-Welch).

Кстати, а настолько ли вам нужно насиловать труп?

proud_anon ★★★★★
()
Ответ на: комментарий от proud_anon

Ух, да, попутал, видать потому, что gzip поддерживал когда-то только распаковку compress из-за патентов.

GAMer ★★★★★
()
Ответ на: комментарий от proud_anon

Делаю модуль по автоматической обработке ежедневных спутниковых данных, поставляемых в *.Z, так что без вариантов

alexkarta
() автор топика
Ответ на: комментарий от mashina

попробовал так:

f=open('960131.nc.Z','rb')
data=f.read()
decompress(data, 16+MAX_WBITS)


Traceback (most recent call last):
File «<stdin>», line 1, in <module>
zlib.error: Error -3 while decompressing data: incorrect header check

alexkarta
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.