【发布时间】:2021-03-24 21:14:49
【问题描述】:
我有一个compressed pickle 泡菜文件。在几次尝试中,我试图解开这个文件但没有成功。以下是基于以下资源here、here 和here 解压压缩的pickle 文件的代码。
首先,我尝试使用pickle 模块。
import bz2
import pickle
data = bz2.BZ2File('test.gzip', 'rb')
data = pickle.load(data)
然后,我也尝试使用cPickle 模块。
import bz2
import _pickle as cPickle
data = bz2.BZ2File('test.gzip', 'rb')
data = cPickle.load(data)
在这两次尝试中,我在 load() 函数上都得到了一个 OSError: Invalid data stream。这是一个踪迹。
我认为这可能与我的 Python 环境有关,但是在为 Conda 中的 Python 3.6、3.7 和 3.8 创建 Python 环境之后,我已经测试了这些 sn-ps 代码。我仍然得到同样的错误。我也搬到了 Ubuntu (WSL) 并在 Python 3.8 conda 环境中尝试了它,并得到了同样的错误。
有什么想法吗?
【问题讨论】:
-
这是实际的文件名吗? “.gzip”(通常是“.gz”)表示一个 gzip 文件,而您使用的是处理 bzip2(“.bz2”)文件的
BZ2File。如果您尝试使用 bzip2 解码器来读取 gzip 文件,那肯定行不通。
标签: python compression pickle