Python zlib 解压缩 gzipped 数据

Posted

技术标签:

【中文标题】Python zlib 解压缩 gzipped 数据【英文标题】:Python zlib to decompress gzipped data 【发布时间】:2017-04-21 19:44:27 【问题描述】:

如果我有以下数据集,

a 10
a 23
a  1
a  1
a  1
b 22
b 33
b  1
b  1

有人在 Unix 终端中使用gzip 将其压缩到data.gz

如何使用 zlib 模块来解压它?我知道 gzip 模块是一个选项,看起来 gzip 调用 zlib,但我想知道如何直接执行此操作。我感兴趣的原因是 zlib,因为 gzip 对于我使用的大文件来说真的很慢。通常,我使用zcat 来解压文件并使用sys.stdin 读取记录。不过,我正在寻找另一种方法。

【问题讨论】:

【参考方案1】:

你试过吗?

使用你给出的例子

In [4]: import gzip

In [5]: f = gzip.open('words.gz','rb')

In [6]: file_content = f.read()

In [7]: f.close()

In [8]: print(file_content)

【讨论】:

没用。 echo "words" | gzip > words.gz 看到了UnrecognizedFormat: Not a recognized archive type: words.gz 嗨@Jon,我正在使用Python3 我知道gzip 的可用性,也知道gzip 调用zlib。但是,我特别想了解zlib 如何在gzip 的后台工作。

以上是关于Python zlib 解压缩 gzipped 数据的主要内容,如果未能解决你的问题,请参考以下文章

Ruby zlib 库解压 gzip 文件非常慢

ZLib GZIP返回Z_BUF_ERROR(-5)

zlib gunzip解压缩每个在同一文件上运行的不同缓冲区大小

读取 gzip 的 zlib 错误时访问冲突

在 Ruby 中压缩 Gzip 字符串

QT 框架处理 gzip 有效载荷