Я скачал файл .gz и успешно распаковал его, используя 'gzip -d'. Но все пошло не так, когда я попытался распаковать его, используя python zlib by chunk.
CHUNK = 1024 * 1024
infile = open('2019-07-06-13.log.gz')
d = zlib.decompressobj(32 + zlib.MAX_WBITS)
while True:
chunk = infile.read(CHUNK)
if not chunk:
break
data = d.decompress(chunk)
print len(chunk), len(data)
print "#####"
Поскольку файл небольшой, этот цикл будет выполняться только время. Результат печати, который «len (data)» меньше чем «len (chunk)», безусловно, неверен.
Выход:
100576 50389
#####
Между тем, после того, как я использовал gzip -c для повторного сжатия распакованного файла, который я создал с помощью "gzip -d", как я уже говорил, я использовал свой код для распаковки повторно сжатого файла, и результирующая линза оказалась направо, что означает мой код хорошо работает для обычного gz-файла .