Pythonでpickleを使ったオブジェクトの保存と復元

Pythonpickleモジュールを使うと、辞書やリスト、オブジェクトなどをファイルに保存し、後で再度読み込むことができます。これはデータの永続化に便利な方法です。

シリアライズ(保存)の手順

  1. pickle.dump()を使って、オブジェクトをファイルに書き込みます。

使用例

import pickle
# 保存する辞書
data = {'name': 'Alice', 'age': 30}
# ファイルに保存
with open('data.pickle', 'wb') as f:
    pickle.dump(data, f, protocol=pickle.HIGHEST_PROTOCOL)

ここでは、protocol=pickle.HIGHEST_PROTOCOLを指定して、最も効率的な形式で保存しています。

デシリアライズ(読み込み)の手順

  1. pickle.load()を使って、保存したデータを再び読み込みます。

使用例

with open('data.pickle', 'rb') as f:
    loaded_data = pickle.load(f)
print(loaded_data)  # 出力: {'name': 'Alice', 'age': 30}

pickleの使用に関する注意点

  • pickleは、Pythonオブジェクト専用のフォーマットなので、他の言語で利用する場合は互換性がありません。
  • 一部のオブジェクト(例えば、ファイルハンドラなど)はシリアライズできないことがあります。

まとめ

pickleを使えば、Pythonオブジェクトを簡単に保存・復元でき、特にデータの永続化やキャッシュに便利です。プロジェクトで効率的にデータを扱う際に役立つツールの1つです。