Я написал небольшой скрипт Python для распаковки файлов pjw, но теперь хочу их повторно сжать. Однако вывод файла отличается, и я не знаю, как это исправить.
Вот как отображается исходный формат сжатого файла. Из файловой утилиты Linux:
Код: Выделить всё
$ file project01OG.pjw
project01OG.pjw: gzip compressed data, from TOPS/20, original size modulo 2^32 314621
Код: Выделить всё
$ file project01.pjw
project01.pjw: gzip compressed data, was "project01.pjw", max compression, original size modulo 2^32 314621
Сценарий распаковки:
Код: Выделить всё
#!/usr/bin/env python3
import gzip
import shutil
input_file = 'project01.pjw'
output_file = 'project01'
with gzip.open(input_file, 'rb') as f_in:
with open(output_file, 'wb') as f_out:
shutil.copyfileobj(f_in, f_out)
Код: Выделить всё
#!/usr/bin/env python3
import gzip
import shutil
input_file = 'project01'
output_file = 'project01.pjw'
with open(input_file, 'rb') as f_in:
with gzip.GzipFile(output_file, 'wb', mtime=0) as f_out:
shutil.copyfileobj(f_in, f_out)
Я пытался спросить ChatGPT, но он говорит что-то вроде отредактируйте полученный вывод файла в шестнадцатеричном редакторе, так что... Я этого не делаю.
Я могу дать ссылку на файл pjw или на вывод распакованного файла, если это поможет.
Подробнее здесь: https://stackoverflow.com/questions/788 ... e-original