我使用pickle在python 3上转储文件,并使用pickle在python 2上加载文件,出现ValueError。
那么,python 2 pickle无法加载python 3 pickle丢弃的文件吗?
如果我想要吗?怎么做?
您应该在Python 3中使用较低的协议编号来编写腌制的数据。Python3引入了一个带有该编号的新协议3
(并将其用作默认协议),因此切换回2
可以由Python 2读取的值。
检查中的protocol
参数pickle.dump
。您生成的代码将如下所示。
pickle.dump(your_object, your_file, protocol=2)
中没有protocol
参数,pickle.load
因为pickle
可以从文件确定协议。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句