我在Python 3中使用pickle将一个文件转储,然后在Python 2中使用pickle来加载该文件时出现了ValueError错误。 所以,Python 2的pickle无法加载Python 3的pickle转储文件?如果我想要这样做,应该怎么办?
3
(并将其用作默认值),因此请切换回可以被Python 2读取的2
值。pickle.dump
中的protocol
参数。您的代码应如下所示。pickle.dump(your_object, your_file, protocol=2)
pickle.load
中没有protocol
参数,因为pickle
可以从文件中确定协议。
Pickle使用不同的协议
将您的数据转换为二进制流。
您必须在Python 3中指定一个低于3
的协议才能够在Python 2中加载数据。在调用pickle.dump
时,您可以指定protocol
参数。