假设文件是使用默认协议= 0兼容ASCII的方法创建的,则应该能够使用
open('pickled_file','rU')通用换行符将其加载到任何地方。如果这不起作用,请向我们显示前几百个字节:
print repr(open('pickled_file','rb').read(200))并将结果粘贴到您的问题的编辑中。*文件内容发布后的 *更新 :
您的文件开头为
'x80x02'; 它随协议2(最新/最佳)一起丢弃。协议1和2是 二进制 协议。您的文件是在Windows上以 文本
模式编写的。这导致C运行时
'n'将每个转换为
'rn'C。应该以二进制模式打开文件,如下所示:
with open('result.pickle', 'wb') as f: # b for binary pickle.dump(obj, f, pickle.HIGHEST_PROTOCOL)with open('result.pickle', 'rb') as f: # b for binary obj = pickle.load(f)文件在这里。此代码可在Windows和非Windows系统上移植。
您可以通过读取二进制模式的文件,然后通过更换所有出现逆转的损伤恢复原始图像咸菜
'rn'通过
'n'。注意:无论您是否尝试在Windows上阅读此恢复过程,此恢复过程都是必需的。



