【问题标题】:Error when unpickling a file in Python 3.6在 Python 3.6 中解压文件时出错
【发布时间】:2018-09-13 14:10:41
【问题描述】:

我对 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.x pickle


【解决方案1】:

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

import pickle

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-23
    • 1970-01-01
    • 1970-01-01
    • 2018-06-27
    • 2018-02-16
    • 1970-01-01
    • 2018-02-14
    • 1970-01-01
    相关资源
    最近更新 更多