メインコンテンツまでスキップ

Pythonオブジェクトをファイルにシリアライズする方法

Pythonオブジェクトをファイルにシリアライズする方法

Pythonオブジェクトをファイルにシリアライズする手順を紹介します。

ステップ1:必要なモジュールをインポートする

まず、オブジェクトをシリアライズおよびデシリアライズするためにPythonの組み込みモジュールであるpickleモジュールをインポートする必要があります。

import pickle

ステップ2:シリアライズしたいオブジェクトを定義する

次に、シリアライズしたいオブジェクトを定義する必要があります。これは、辞書、リスト、またはカスタムクラスなど、有効なPythonオブジェクトであれば何でも構いません。

例えば、次のような辞書をシリアライズしたいとします。

data = {
'name': 'John Doe',
'age': 25,
'email': 'johndoe@example.com'
}

ステップ3:オブジェクトをファイルにシリアライズする

さて、pickle.dump()メソッドを使用してオブジェクトをファイルにシリアライズすることができます。このメソッドには2つの引数があります。シリアライズしたいオブジェクトとシリアライズしたデータを書き込むファイルオブジェクトです。

with open('data.pickle', 'wb') as file:
pickle.dump(data, file)

この例では、バイナリ書き込みモード('wb')でdata.pickleというファイルを開き、pickle.dump()を使用してシリアライズされたdataオブジェクトをファイルに書き込んでいます。

注意:.pickleというファイル拡張子は一般的にシリアライズされたオブジェクトに使用されますが、好みに応じて任意の拡張子を使用することができます。

ステップ4:ファイルからオブジェクトをデシリアライズする

オブジェクトをファイルからデシリアライズして元のデータを取得するためには、pickle.load()メソッドを使用することができます。このメソッドにはファイルオブジェクトが引数として渡され、デシリアライズされたオブジェクトが返されます。

with open('data.pickle', 'rb') as file:
deserialized_data = pickle.load(file)

この例では、バイナリ読み取りモード('rb')でdata.pickleファイルを開き、pickle.load()を使用してファイルに格納されているオブジェクトをデシリアライズしています。デシリアライズされたオブジェクトはdeserialized_data変数に代入されます。

ステップ5:デシリアライズされたオブジェクトを確認する

最後に、デシリアライズされたオブジェクトが元のデータと一致していることを確認するために、その内容を出力することができます。

print(deserialized_data)

これにより、デシリアライズされたオブジェクトが出力され、元のdataオブジェクトと同じであるはずです。

{'name': 'John Doe', 'age': 25, 'email': 'johndoe@example.com'}

以上です!Pythonオブジェクトをファイルにシリアライズし、それをデシリアライズして元のデータを取得することができました。

pickleモジュールをインポートし、オブジェクトを定義し、pickle.dump()を使用してファイルにシリアライズし、pickle.load()を使用してファイルからデシリアライズすることを忘れないでください。