0

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

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

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),但似乎没有任何效果。你有什么建议吗?

4

1 回答 1

3

那不是 zlib 或 gzip 文件,它是由旧的 Unix 工具压缩的(从扩展名compress中可以看出)。.Z命令行工具gzip//可以读取这些,但不能读取 Pythongunzip模块。您可以使用管道:zcatgzip

from subprocess import Popen, PIPE

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

现在,f是一个类文件,可以用来读取文件。

于 2012-12-21T11:17:42.020 回答