我使用协议3(python3使用的默认协议)转储了一个pickle文件,但是在将其部署到可在python2上运行的Google云中时,因此我需要将pickle文件转换为协议2。现在我想直接将协议3的泡菜文件转换为协议2的泡菜文件。怎么办?
答案 0 :(得分:1)
您可以尝试以下类似方法吗?
我没有在标准中找到任何直接转换器。可能有人可以。
将文件加载到对象obj
中,然后执行以下操作。
pickle.dump(obj, fileObject, 2)
有一个传递给转储功能的选项:
https://docs.python.org/3.1/library/pickle.html#pickle.dump
粗略代码:
import pickle
with open('data1.pickle', 'rb') as f1:
data = pickle.load(f1)
with open('data2.pickle', 'wb') as f2:
pickle.dump(data, f2, 2)