pickle

  • シリアライズ
    import pickle
        :
    dic = {1:'りんご', 2:'なし', 3:'みかん'}
    f = open('dic.txt', 'w')
    pickle.dump(dic, f)
    f.close()
  • デシリアライズ
    import pickle
        :
    f = open('dic.txt', 'r')
    dic = pickle.load(f)

使用上の注意

  • クラスの __del__() メソッドでシリアライズはしないこと!(はまるよ)
    • __del__() メソッドの呼び出しが起きるのは不安定な状況なので、大抵エラーになる
    • __del__() が呼び出される際には、__del__() メソッドが参照している他のグローバル変数はすでに削除されているかもしれません。__del__() メソッドでは外部の不変関係を維持する上で絶対最低限必要なことだけをすべきです。だとさ。

marshal

  • 単純なディクショナリやリスト、文字列、整数、複素数、タプルなどを保存するのに使える
  • クラスのインスタンスを保存したり、再帰的なオブジェクトを保存することはできない

shelve


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-04-09 (日) 20:47:01 (2572d)