Pythonにおけるpickleモジュールの構造と使い方の詳細


  • pickle公式ドキュメントソース
  • pickleは簡単な持続化機能を提供しています.オブジェクトをディスクにファイルとして保存できます.ファイルを圧縮/保存/抽出するモジュールである.
    オブジェクトをシーケンス化してディスクに保存し、必要に応じて読み込むことができ、任意のオブジェクトでシーケンス化操作を実行できます.
  • 共通関数
  • pickle.dump()公式ドキュメント
  • pickle.dump(obj, file, protocol=None, *, fix_imports=True)
    

    開いているfileにobjオブジェクトをシーケンス化して格納します.
  • obj:シーケンス化したいobjオブジェクト.
  • file:write()メソッドを持つオブジェクトであり、このwrite()メソッドはパラメータとして文字列を受信することができる.このオブジェクトは、書き込みモードで開いているファイルオブジェクトまたはStringIOオブジェクト、または他のカスタム条件を満たすオブジェクトであってもよい.
  • protocol:使用するプロトコルをシーケンス化します.この項目が省略されている場合、デフォルトは0です.負またはHIGHEST_の場合PROTOCOLは、最高のプロトコルバージョンを使用します.
  • pickle.load()公式ドキュメント
  • pickle.load(file, *, fix_imports=True, encoding="ASCII", errors="strict")
    

    開いているfileのオブジェクトをシーケンス化して読み出します.読み終わったらfileを閉じます.
    開く、閉じる操作をしたくない場合はwith文を使用します.
    with open('pickle_demo.pickle', 'rb') as file:
    	name = pickle.load(file)
    

    dump()関数は、複数のオブジェクトを連続的に同じファイルにシーケンス化して格納し、load()を呼び出して同じ順序で逆シーケンス化して読み出すことができる.
  • pickle.dumps()公式ドキュメント
  • pickle.dumps(obj, protocol=None, *, fix_imports=True)
    

    ファイルに格納するのではなく、objオブジェクトをstring形式にシーケンス化します.
  • obj:シーケンス化したいobjオブジェクト.
  • protocal:この項目が省略されている場合、デフォルトは0です.負またはHIGHEST_の場合PROTOCOLは、最高のプロトコルバージョンを使用します.
  • pickle.loads()公式ドキュメント
  • pickle.loads(bytes_object, *, fix_imports=True, encoding="ASCII", errors="strict")
    

    シーケンス化前のobjオブジェクトをstringから読み出す.
  • string:ファイル名.
  • Reference
  • Python pickleモジュール学習
  • Pythonデータストレージ:pickleモジュールの使用説明
  • Python
  • Pythonでpickle永続化オブジェクトを使用する