Python 3 – PythonPickleを使用してオブジェクトを保存する方法

Pickleを使用して、オブジェクトをシリアル化および逆シリアル化できます。 セラル化されたオブジェクトは、ディスクから保存およびロードできます。 Picklingは、オブジェクト(list、dictなど)をファイルに、またはその逆に変換する方法です。

アイデアは、1つ以上のオブジェクトを1つのスクリプトに保存し、それらを別のスクリプトにロードすることです。 プログラムやゲームの状態を保存するためにも使用できます。

ディスクスペースを節約するため、バイナリファイルを使用して保存およびロードします。

関連コース: 完全なPythonプログラミングコースと演習

オブジェクトをシリアル化する

ピクルスを使用するには、ピクルスモジュールをインポートします。
オブジェクトを作成し、それをセラライズします。 次に、ファイルオブジェクトを使用してファイルに書き込みます。

1
2
3
4
5
6
7
import pickle

exampleObj = {'Python':3,'KDE':5,'Windows':10}

fileObj = open('data.obj', 'wb')
pickle.dump(exampleObj,fileObj)
fileObj.close()

オブジェクトの逆シリアル化

オブジェクトがファイルに保存されたので、ロード(選択解除)できます。 以下の例では、ファイルからオブジェクトをロードします。

ピクルスモジュールをロードし、読み取り用のファイルを開いてから、次のデータをロードします。 pickle.load()。 好きな変数にロードできますが、便宜上同じ名前を使用しました(exampleObj)。

1
2
3
4
5
6
import pickle   

fileObj = open('data.obj', 'rb')
exampleObj = pickle.load(fileObj)
fileObj.close()
print(exampleObj)

これにより、以前に保存されたオブジェクトが表示されます。

パイソンピクルス

初心者の方は、 それなら私はこの本を強くお勧めします。

運動

以下の演習を試してください。

  1. ファイルからオブジェクトを保存およびロードします
  2. ファイルから複数のオブジェクトをロードしてみてください

例をダウンロード

Hope this helps!

Source link