Pythonのpickleとは
Pythonのpickleモジュールは、Pythonオブジェクトをバイトストリームにシリアライズ(変換)し、その逆のデシリアライズも行える機能を提供します。これにより、Pythonオブジェクトをファイルに保存したり、ネットワークを介して送受信が可能になります。
pickleで保存する方法
pickleモジュールを使用してオブジェクトを保存する基本的な手順は以下の通りです。
import pickle
# 保存したいオブジェクト
obj = ['example', 123, {'key': 'value'}]
# ファイルに保存
with open('file.pickle', 'wb') as f:
pickle.dump(obj, f)
このコードでは、まずpickleモジュールをインポートしています。次に保存したいオブジェクトを定義し、pickle.dump()
関数を使用してオブジェクトをファイルに保存しています。
pickleで読み込む方法
保存したオブジェクトを読み込むには、以下のようにpickle.load()
関数を使用します。
import pickle
# ファイルから読み込み
with open('file.pickle', 'rb') as f:
loaded_obj = pickle.load(f)
print(loaded_obj)
このコードでは、保存したファイルをバイナリモードで開き、pickle.load()
関数を使用してオブジェクトを読み込んでいます。
注意点
pickleモジュールは強力なツールですが、信頼できないソースからのpickleデータは避けるべきです。pickleはPython専用で、より複雑なPythonオブジェクトを扱えるのが特徴ですが、セキュリティ上の理由から、信頼できないソースからのpickleデータは避けるべきです。
以上がPythonのpickleモジュールの基本的な使い方になります。この機能を活用することで、Pythonオブジェクトの状態を保存し、後で再利用することが可能になります。大規模なデータ処理や機械学習モデルの学習結果の保存に非常に役立ちます。.