Я пытаюсь распаковать файл * .Z с помощью Python. Я загрузил его через FTP (двоичный режим). Файл успешно распаковывается с 7zip (чья «информация» в файле говорит о типе «Z»). Исходный файл можно найти по адресу ftp://cddis.gsfc.nasa.gov/gps/products/1860/igr18600.sp3.Z.Uncompressing .Z-файл с Python
Я прочитал на использование модуля ZLIB в Python и иметь некоторый тестовый код, я использую:
import zlib
comp_data = open('C:\Temp\igr18600.sp3.Z', 'rb').read()
print(comp_data[0:10])
uncomp_data = zlib.decompress(comp_data)
with open('c:\temp\igr18600.sp3', 'wb') as f:
f.write(uncomp_data)
f.close()
Когда я выполняю это я получаю следующий результат:
b'\x1f\x9d\x90#\[email protected]\x91\x01#F'
Traceback (most recent call last):
File "test.py", line 7, in <module>
uncomp_data = zlib.decompress(comp_data)
zlib.error: Error -3 while decompressing data: incorrect header check
zlib явно не любит заголовок. Первые пару байтов соответствуют соответствующей последовательности магических чисел 0x1F9d для сжатого файла (за https://en.wikipedia.org/wiki/List_of_file_signatures).
В крайнем случае я могу обойти это, обрушив непосредственно на 7zip. Но я надеялся найти чистый ответ типа Python. Несмотря на то, что большую часть дня отправлял Google для ответа (или это сообщение об ошибке), мне не повезло. Возможно, мои навыки поиска атрофируются?
Ссылка также упоминает о '7-Zip File Format' как' 37 7A BC AF 27 1C'. –