所以问题来了。我有大约60KB的sample.gz文件。我想解压缩这个文件的第一个2000字节。我正在运行CRC检查失败的错误,我猜是因为gzip CRC字段出现在文件的末尾,并且它需要整个gzip文件进行解压缩。有没有办法解决这个问题?我不关心CRC检查。即使由于CRC错误而无法解压缩,也没关系。有没有办法解决这个问题,并解压缩部分.gz文件?使用python解压缩.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的头?
因为我很感兴趣,第一个可能的压缩数据的4K。 – user210126 2009-11-14 00:22:38