这就是问题所在。我有sample.gz文件,大小约为60KB。我想解压缩该文件的前2000个字节。我遇到了CRC检查失败的错误,我猜是因为gzip
CRC字段出现在文件末尾,并且它需要整个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标头吗?
我似乎您需要查看 Python zlib 库
GZIP格式依赖zlib,但是引入了文件级压缩概念以及CRC检查,这似乎是您目前不想要/不需要的。
例如,请参阅 Dough
Hellman的
这些
代码片段
编辑 :Doubh
Hellman网站上的代码仅显示如何使用zlib进行压缩或解压缩。如上所述,GZIP是“带信封的zlib”,您需要先对信封进行解码,然后才能获取zlib压缩的数据
本身 。这里是更多信息,实际上并不那么复杂:
很抱歉,既没有提供简单的过程,也没有提供现成的代码段,但是使用上述指示解码文件应该相对较快和简单。
Kafka producer正在发送.gz文件,但无法在消费者端解压缩和读取文件。获取错误为“IOError:不是gzipped文件” producer-bin/kafka-console-producer.sh--broker-list localhost:9092-topic Airport<~/downloads/stocks.json.gz 消费者- 使用者出错-
问题内容: 我正在尝试使用Python解压缩* .Z文件。我通过FTP(二进制模式)下载了它。该文件使用7zip成功解压缩(文件上的“信息”表示其类型为“ Z”)。原始文件位于ftp://cddis.gsfc.nasa.gov/gps/products/1860/igr18600.sp3.Z。 我已经阅读了Python中zlib模块的用法,并使用了一些测试代码: 执行此操作时,将得到以下输出: z
然后我在两个压缩文件上运行以下管道。 这将导致我的bucket的以下状态: 如您所见,由pbzip2压缩的未压缩文件太小,无法正确解压缩。似乎只有第一个块被解压缩,其余的都被丢弃了。 我用pbzip2压缩了很多文件,我希望不改变它们的压缩方式。 对如何解决这个问题有什么建议吗?这甚至可以用于使用pbzip2压缩的文件吗?
问题内容: 如果文件是A ,我可以解压缩文件,如果文件类型是I,则可以解压缩文件。我如何使用python 2.7进行此工作? 问题答案: 试试这个包:
尝试下载. gz文件,将其解压缩到内存中,然后逐行读取解压缩后的内容。 现在,标题如下所示: {'Date':'Fri,23 Aug2019 07:19:28GMT','Server':'Apache','X-Content-Type-Options':'nosnff','X-Frame-Options':'samesource','Referre-Policy':'no-引用者','X-Xss-
我正在使用Julia的ZipFile包来提取和处理csv文件。没问题,但是当我遇到zip文件中的zip文件时,我也想处理它,但是遇到了一个错误。 Julia ZipFile文档如下:https://zipfilejl.readthedocs.io/en/latest/ 对如何做到这一点有什么想法吗?