Pythonは標準ライブラリに「pickle」というモジュールがあり、これを使用することで、Pythonオブジェクトをシリアライズ(バイト列に変換)し、ファイルやデータベースに保存することができます。
pickleとは何か
pickleはPythonオブジェクトの直列化(シリアライズ)や非直列化(デシリアライズ)を扱うライブラリです。平たく言うと、Pythonオブジェクトをファイルとして保存し、呼び出せるようにすることができる形にするためのライブラリという事になります。
pickleでファイルを保存
pickleでPythonオブジェクトをファイルとして保存する前に一つ注意点があります。それはファイルをバイナリデータとして保存するかテキストデータとして保存するのかという点です。
import pickle
sample_list = [1,2,3]
f = open('sample.textfile','w')
pickle.dump(sample_list,f)
f.close
上記のコードでは、pickleでPythonオブジェクトをファイル化し保存しています。
pickleファイルを読み込み
保存したリストを別の場所で読み込んでみましょう。
import pickle
with open('pic.bin', 'rb') as p:
l = pickle.load(p)
print(l)
上記のコードでは、main.pyで保存したリストをmain2.pyで読み込んでいます。
まとめ
pickleモジュールを使用すると、Pythonオブジェクトをシリアライズして保存し、その状態から取り出されることが可能です。これにより、PythonでプログラミングをしているときにPythonオブジェクトを保存したいというときに便利な標準ライブラリとなります。