python-3.x - 在 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' 而不是字节。我没有在网上或任何其他堆栈交换问题中找到任何解决我的问题的方法,因此非常感谢任何帮助!
谢谢!
伊莎贝尔
解决方案
我遇到了与您描述的相同的错误。我删除了这个文件并再次创建它,它解决了这个问题。
import pickle
outfile = open('test_data.pickle', 'wb')
pickle.dump({}, outfile)
outfile.close()
infile = open('test_data.pickle', 'rb')
print(pickle.load(infile))
推荐阅读
- tensorflow - 如何在 keras 中重新排列张量的轴?
- c# - 如何将 JObject 转换为类型 T
- python - 使用 google-drive-api 的文件导出时如何设置 mimeType?
- php - (PHP 7.2) 警告:使用未定义的常量对象 - 假定为“对象”
- regex - 在 Notepad++ 上用空格分隔每一行
- class - Kotlin:有没有办法在 kotlin 中打包私有?
- jenkins - 无法在 Jenkins 中运行测试用例
- oracle - 从 Oracle Fusion MiddleWare 从 11gR1 迁移到 12cR2 以及在 Weblogic 12c 独立服务器中部署的问题
- python - Python tkinter 组合框和字典
- c# - 删除路径“C:\Users\Default\AppData\Roaming”中存在的文件夹