Python pickle:加载前修复 r字符

Python pickle:加载前修复 r字符,第1张

Python pickle:加载前修复 r字符

假设文件是​​使用默认协议= 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上阅读此恢复过程,此恢复过程都是必需的。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5631949.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-15
下一篇2022-12-15

发表评论

登录后才能评论

评论列表(0条)

    保存