回答:
Python 3では、より低いプロトコル番号でピクルスデータを書き込む必要があります。Python3は、番号付きの新しいプロトコルを導入し3
(デフォルトで使用します)、2
Python 2で読み取れる値に切り替えます。
のprotocol
パラメータを確認してくださいpickle.dump
。結果のコードは次のようになります。
pickle.dump(your_object, your_file, protocol=2)
何もありませんprotocol
で、パラメータpickle.load
のでpickle
、ファイルからプロトコルを決定することができますが。
Pickleは、別のものprotocols
を使用してデータをバイナリストリームに変換します。
パイソン2である3つの異なるプロトコルが(0
、1
、2
)、デフォルトです0
。
パイソン3である5つの異なるプロトコルが(0
、1
、2
、3
、4
)、デフォルトです3
。
3
Python 2でデータをロードできるようにするには、Python 3でより低いプロトコルを指定する必要があります。protocol
を呼び出すときにパラメーターを指定できますpickle.dump
。
5
、以前のバージョンと互換性のないプロトコルがPython 3.8にも導入されたようです。