1. ホーム
  2. python

非対応Pickleプロトコル

2022-02-20 02:01:18

      私のプログラムは、おそらくshelveを使用して小さなデータベースを構築しています。python3Xでうまくいかなかったので、python2.7に戻したのですが、サポートされていないpickleプロトコルで問題が発生しました。コードを修正しました。とても憂鬱でした。そこで、ネットでpickleプロトコルとは何かを調べてみました。その結果、データをバイナリストリームに変換するテキストプロトコルであることがわかりました。つまり、python2.7とpythonで異なるバージョンのpickleプロトコルを使って、データベースを操作しているのです。つまり、コンフリクトが発生していたんですね。pickleについてもっと知りたい方は <スパン ここをクリック


<テーブル

得票数

Pickleは、異なるものを使用します。  protocols  を使用して、データをバイナリストリームに変換します。

この問題を解決したい場合、どうすればいいのでしょうか?2.7を捨てて、3.0以降を使用する。または

pickle.dump
The protocol parameter in (your_object, your_file, protocol) should be the same.

<テーブル

Pickleは、異なるものを使用します。  protocols  を使用して、データをバイナリストリームに変換します。