首页 > 解决方案 > 在 Python 3.6 中解压文件时出错

问题描述

我对 Python 很陌生,尤其是对酸洗。对于面试数据挑战,我收到了一个腌制格式的数据集,但我在解开它时遇到了问题。他们告诉我这个文件是在 Mac 上用 Python 3.7 腌制的。我正在使用 python 3.6.5。

我正在使用以下代码:

import pickle

infile = open('test_data.pickle', 'rb')

pickle.load(infile)

但我得到了错误:

“无效的加载键 \xef”

我已经在线阅读并尝试了诸如 pickle.load(infile, encoding='bytes') 或相同的内容,但使用 'latin1' 而不是字节。我没有在网上或任何其他堆栈交换问题中找到任何解决我的问题的方法,因此非常感谢任何帮助!

谢谢!

伊莎贝尔

标签: python-3.xpickle

解决方案


我遇到了与您描述的相同的错误。我删除了这个文件并再次创建它,它解决了这个问题。

import pickle

outfile = open('test_data.pickle', 'wb')
pickle.dump({}, outfile)
outfile.close()
infile = open('test_data.pickle', 'rb')
print(pickle.load(infile))

推荐阅读