【发布时间】:2016-04-06 21:07:09
【问题描述】:
mydata = pickle.load(myfile, "rb")
ValueError: unsupported pickle protocol: 3
很明显,有远见,如果你想用 python2 解开它,你必须在将你的 pickle 文件转储到 python3 时设置protocol=2。
但是,如果您不幸遇到了在 python 3 中使用协议 3 腌制的文件,而现在您必须使用 python2 读取它们怎么办?有什么解决方法吗?
有一个相关的问题,但它似乎是一个不同的核心问题:unpickle OrderedDict from python3 in python2
【问题讨论】:
-
协议记录在 PEP 中。如果它不使用需要 Python 3 的自定义类,那么您可以轻松地自己实现它。
标签: python python-2.7 pickle