La décompression de la partie de .gz fichier à l'aide de python

Alors, voici le problème. J'ai sample.gz fichier qui est d'environ 60 MO en taille. Je veux décompresser les 2000 premiers octets de ce fichier. Je suis en cours d'exécution en vérifier le CRC a échoué erreur, j'imagine, parce que le gzip CRC champ apparaît à la fin du fichier, et il exige de l'ensemble de format de fichier pour le décompresser. Est-il un moyen de contourner ce problème? Je ne m'inquiète pas à propos de la vérification CRC. Même si je n'arrive pas à décompresser en raison de mauvais CRC, c'est OK. Est-il un moyen de contourner ce problème et décompressez partielle .les fichiers gz?

Le code que j'ai pour l'instant est

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 possible d'utiliser la librairie zlib module pour ce faire et ignorer le gzip-têtes?

Parce que je suis intéressé par la première peut-être 4k des données compressées.

OriginalL'auteur user210126 | 2009-11-14