Taka-Coma's Blog

http://taka-coma.pro/

Pythonでオブジェクトを漬物に

概要

  • Pythonでオブジェクトを保存する方法についてのメモ.
  • 色んな所に書いてあるけど,毎回探すのが面倒なので.

内容

  • データが小さい場合(pickleで十分)
import pickle

obj = ...
with open('hoge.pkl', 'wb') as w:
    pickle.dump(obj, w)
  • データが大きい場合(圧縮+cPickle)
import gzip, cPickle

obj = ...
with gzip.open('hoge.pkl.gz', 'wb') as w:
   cPickle.dump(obj, w, cPickle.HIGHEST_PROTOCOL)

見解

  • データが小さいときは pickle でもあまり遜色はない
  • 当然 cPickle の方が速いので,cPickleを常用するほうが良いかも
  • データが大きい場合は gzip で圧縮
  • pickle で2.6MBだったファイルが,gzipで512KBになった