首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中读取zlib文件会导致“不正确的头检查”。

在Python中读取zlib文件会导致“不正确的头检查”。
EN

Stack Overflow用户
提问于 2012-12-21 11:10:07
回答 1查看 2.1K关注 0票数 0

可能重复: 用python解压缩tar.Z文件?

我正在尝试读取压缩的zlib,以便直接访问包含的HDF文件中的数据(使用pyhdf)。但是,我总是收到一条错误消息。这是文件

代码语言:javascript
复制
import zlib
file = open('3B42.20070101.00.7A.HDF.Z','rb')
data = zlib.decompress(file.read())

>> error: Error -3 while decompressing data: incorrect header check

我检查了其他几种方法(例如,gzip.open/gzip.zlib),但似乎什么都没有用。你有什么意见建议?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-21 11:17:42

这不是一个zlib或gzip文件,它是由旧的Unix工具compress压缩的(从.Z扩展可以看出)。命令行工具gzip/gunzip/zcat可以读取这些内容,但不能读取Python模块。你可以用一个管子:

代码语言:javascript
复制
from subprocess import Popen, PIPE

filename = "3B42.20070101.03.7A.HDF.Z"
f = Popen(["zcat", filename], stdout=PIPE).stdout

现在,f是一个类似于读取文件的文件。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13989029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档