Так вот в чем проблема. У меня есть файл sample.gz размером примерно 60 КБ. Я хочу распаковать первые 2000 байтов этого файла. Я сталкиваюсь с ошибкой проверки CRC, я думаю, потому что поле CRC gzip появляется в конце файла, и для его распаковки требуется весь файл gzip. Есть ли способ обойти это? Меня не волнует проверка CRC. Даже если мне не удастся распаковать из-за плохого CRC, это нормально. Есть ли способ обойти это и разархивировать частичные файлы .gz?
Код, который у меня пока есть,
import gzip
import time
import StringIO
file = open('sample.gz', 'rb')
mybuf = MyBuffer(file)
mybuf = StringIO.StringIO(file.read(2000))
f = gzip.GzipFile(fileobj=mybuf)
data = f.read()
print data
Произошла ошибка
File "gunzip.py", line 27, in ?
data = f.read()
File "/usr/local/lib/python2.4/gzip.py", line 218, in read
self._read(readsize)
File "/usr/local/lib/python2.4/gzip.py", line 273, in _read
self._read_eof()
File "/usr/local/lib/python2.4/gzip.py", line 309, in _read_eof
raise IOError, "CRC check failed"
IOError: CRC check failed
Также есть ли способ использовать модуль zlib для этого и игнорировать заголовки gzip?