1. ホーム
  2. スクリプト・コラム
  3. パイソン

[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?

2022-01-12 09:42:03

質問

Python 3 でダンプしたファイルを Python 2 で pickle を使って読み込むと、エラーが発生することがあります:。

ValueError: unsupported pickle protocol: 3

解決方法は?

Python 3では、pickleしたデータをプロトコル番号を下げて記述する必要があります。Python3では新しいプロトコルが導入され、その番号は 3 (の値に切り替えてください(デフォルトで使用します)。 2 これは Python 2 で読み取ることができます。

を確認します。 protocol パラメータを pickle.dump . 出来上がったコードは次のようになります。

pickle.dump(your_object, your_file, protocol=2)

はありません。 protocol のパラメータは pickle.load というのも pickle は、ファイルからプロトコルを判断することができます。