所以我制作了一个脚本,将字典存储到不同操作系统上的pickle文件中,认为任何pickle文件都可以在任何地方创建/打开。
环顾四周后,我认为在编写文件时我犯了错误,就是没有放“b”(二进制)。也就是说,有没有办法重新格式化pickle文件以符合可以在任何地方打开的标准格式?或者我是否必须再次运行词典?如果有任何办法,请告诉我,我真的不想重建字典。谢谢。
我从打开pickle文件得到的具体错误是:
编辑1 - 错误堆栈跟踪的图像。
进一步阐述 - 关于我:
2个Windows系统(分别使用Python 2.7和3.4),这是我用来转储字典的代码
with open('C:\\Users\\Main\\Desktop\\IANLS\\dump.pickle', 'wb') as handle:
pickle.dump(final_dict, handle)
handle.close()
Mac(python 2.7):
with open('/Users/hinhrt/Documents/NLP/t_dump.pickle', 'w+') as handle:
pickle.dump(final_dict, handle)
handle.close()
我要提到的另一件事是,当我最初测试这个功能时(因为我之前从未使用过pickle),我能够创建一个pickle文件并打开文件没有问题。但是现在我正在尝试打开从其他系统创建的pickle文件,1。)我无法打开这些和2.)我甚至无法打开自己的系统创建的pickle文件。