当前位置 : 主页 > 大数据 > 区块链 >

unsupported pickle protocol

来源:互联网 收集:自由互联 发布时间:2021-06-22
我的程序大概就是利用shelve建立一个小型的数据库。 我使用python3X很不习惯,于是换回到了python2.7,可是出现了unsupported pickle protocol问题。代码已经修改过。很是郁闷。于是上网查阅

我的 程序大概就是利用shelve建立一个小型的数据库。 我使用python3X很不习惯,于是换回到了python2.7,可是出现了unsupported pickle protocol问题。代码已经修改过。很是郁闷。于是上网查阅pickle protocol是什么协议。原来这是一种将数据转换成二进制流的文本协议。也就是说我在python2.7和python使用的pickle协议版本不同操作数据库。所以出现了冲突。如果要了解pickle更多请点击此处



down vote

Pickle uses different protocols to convert your data to a binary stream.

  • In python 2 there are 3 different protocols (012) and the default is 0.

  • In python 3 there are 5 different protocols (01234) and the default is 3



如果要解决这个问题,那该怎么办?要么弃用2.7用3.0以上的版本。或者在python中通过改变

pickle.dump(your_object, your_file, protocol)中的protocol参数成一致即可。

29 down vote

Pickle uses different protocols to convert your data to a binary stream.

  • In python 2 there are 3 different protocols (012) and the default is 0.

  • In python 3 there are 5 different protocols (01234) and the default is 3.

网友评论