Quindi ecco il problema. Ho un file sample.gz che ha una dimensione di circa 60 KB. Voglio decomprimere i primi 2000 byte di questo file. Sto correndo in CRC controllo errore non riuscito, credo perché il campo CRC gzip appare alla fine del file, e richiede l'intero file gzippato per decomprimere. C'è un modo per aggirare questo? Non mi interessa il controllo CRC. Anche se non riesco a decomprimere a causa del cattivo CRC, va bene. C'è un modo per aggirare questo e decomprimere i file .gz parziali?Decompressione parte di un file .gz usando python
Il codice che ho finora è
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
L'errore riscontrato è
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
Inoltre c'è un modo per utilizzare il modulo zlib per fare questo e ignorare le intestazioni gzip?
Cuz Sono interessato nel primo forse 4k dei dati compressi. – user210126