Pickle はデフォルトで Python ライブラリの一部であり、ユーザー セッション間で永続性が必要な場合に重要なモジュールです。 pickle はモジュールとして、プロセス間で Python オブジェクトを保存する機能を提供します。
データベース、ゲーム、フォーラム、またはセッション間で情報を保存する必要があるその他のアプリケーション向けにプログラミングしている場合でも、pickle は識別子と設定の保存に役立ちます。 pickle モジュールは、ブール値、文字列とバイト配列、リスト、辞書、関数などのデータ型を保存できます。
注: pickle の概念は、シリアル化、マーシャリング、フラット化とも呼ばれます。ただし、キーは常に同じです。後で取得できるようにオブジェクトをファイルに保存します。 pickle は、オブジェクトを長いバイト ストリームに書き込むことでこれを実現します。
Python での Pickle サンプル コード
オブジェクトをファイルに書き込むには、次の構文のコードを使用します:
import pickle object = Object() filehandler = open(filename, 'w') pickle.dump(object, filehandler)
以下は実際の例です:
import pickle import math object_pi = math.pi file_pi = open('filename_pi.obj', 'w') pickle.dump(object_pi, file_pi)
このフラグメントは、object_pi の内容をファイル ハンドラー file_pi に書き込み、ファイル ハンドラー file_pi は実行ディレクトリ内のファイル filename_pi.obj にバインドされます。
オブジェクトの値をメモリに復元するには、ファイルからオブジェクトをロードします。 pickle が使用するためにインポートされていないと仮定して、最初にインポートします。
import pickle filehandler = open(filename, 'r') object = pickle.load(filehandler)
次のコードは pi の値を復元します。
import pickle file_pi2 = open('filename_pi.obj', 'r') object_pi2 = pickle.load(file_pi2)
これでオブジェクトは、今度は object_pi2 として再び使用できるようになります。もちろん、必要に応じて元の名前を再利用することもできます。この例では、わかりやすくするために別の名前を使用しています。
Pickle についての事柄
pickle モジュールを使用するときは、次の点に注意してください:
pickle プロトコルは Python に固有であり、言語間で使用できるという保証はありません。互換性がある。情報を転送して、Perl、PHP、Java、またはその他の言語で使用できるようにすることはできない可能性があります。
Python の異なるバージョン間の互換性は保証されません。すべての Python データ構造をモジュールでシリアル化できるわけではないため、非互換性が存在します。
デフォルトでは、最新バージョンの pickle プロトコルが使用されます。手動で変更しない限り、このままになります。
以上がPickle を使用して Python でオブジェクトを保存する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。