python2與python3儲存的pickle檔案不相容問題
阿新 • • 發佈:2018-11-10
1.python3 讀取 python2儲存的pickle檔案
import pickle
inf=pickle.load(open('f:\\a.pkl',"rb"),encoding='latin1')
print(inf)
f.close()
2.python2 讀取 python3儲存的pickle檔案
報錯為:
ValueError: unsupported pickle protocol: 4
原因:python2 不支援讀取 protocol>2
1)在python3中將資料格式轉換成python2可讀的資料格式:
with open('../data.pkl', 'rb') as f: w = pickle.load(f) pickle.dump(w, open('../data1.pkl',"wb"), protocol=2)
2)即可在python2環境內操作