# 此文为我遇到的python error 以及个人的处理方法
问题:
Python 3.8: pickle.dump 生成的文件
用Python 3.6 处理pickle文件,运行显示:ValueError: unsupported pickle protocol: 5
原因:Python 3.8 用了更高的protocol,但是python 3.6 最高只有protocol 4
Tips: protocal 只有在pickle.dump中有这一选项,read或load没有。
Python 3.6的dump只能有protocol <=4。
解决办法:在Python 3.8 生成pickle文件时运行
pickle_protocol = 4
with open ('filename.p', 'wb') as f:
pickle.dump(filename, f, protocol = pickle_protocol)
此时,pickle文件应能被Python 3.6顺利读取。