在Python 3.6中解开文件时出错

时间:2018-09-13 14:10:41

标签: python-3.x pickle

我对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'而不是字节。我没有在线上找到问题解决方案,也没有在其他任何堆栈交换问题中找到任何解决方案,因此,我们将不胜感激!

谢谢!

伊莎贝尔

1 个答案:

答案 0 :(得分:0)

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

import pickle

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