Donc, voici le problème. J'ai un fichier sample.gz d'environ 60 Ko. Je veux décompresser les 2000 premiers octets de ce fichier. Je suis en cours d'exécution dans la vérification CRC a échoué erreur, je suppose que parce que le champ CRC gzip apparaît à la fin du fichier, et il nécessite le fichier gzip entier pour décompresser. Y a-t-il un moyen de contourner ceci? Je me fiche de la vérification du CRC. Même si je ne parviens pas à décompresser à cause d'un mauvais CRC, c'est OK. Est-il possible de contourner ce problème et de décompresser les fichiers .gz partiels?Décompresser une partie d'un fichier .gz en utilisant python
Le code que j'ai est jusqu'à présent
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'erreur rencontrée est
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
Aussi est-il un moyen d'utiliser le module zlib pour le faire et ignorer les en-têtes de gzip?
Cuz Je suis intéressé par la première 4k peut-être des données compressées. – user210126