Pythonでデータ解析などをしていると、途中でいままで行った処理の結果を保存しておきたい場合が多々あります。そういったときに考えられる手段としては、numpyやpandasであればcsvに書き出す、その他の変数であればPickleで書き出すといったものがあります。
しかし、一部の変数であればそれでもよいかもしれませんが、とりあえず全部保存したい、となると面倒です。そんなときにはdillというライブラリが便利です。dillは今どき珍しくドキュメントがなく、レポジトリのREADMEを読むと、詳しい使い方はテストコードを読んでね、という非常にユーザーに優しくないライブラリであるため、dillの便利な使い方を以下に示しておきます。
まず、何らかの変数を作って、適当な処理をするとします。
orders = {'Akagai':1, 'Hirame':2, 'Hamburg steak':2}
prices = {'Akagai':200, 'Hirame':300, 'Hamburg steak':100}
bill = 0
for item, num in orders.items():
bill += prices[item] * num
ここでこれまでに作った変数を全て保存したいときには、以下のようにします。
import dill
dill.dump_session('session.pkl')
この続きからまた処理をしたいときには、次のようにsession.pkl
をロードをすれば、先ほど作った変数がまたすべて使えます。
import dill
dill.load_session('session.pkl')
n_person = 5
bill_per_person = bill / n_person