カプセル化は、Python データ オブジェクトをバイト ストリームに変換するプロセスです。アンパックは、バイト ファイルまたはバイト オブジェクトのバイト ストリームを Python データ オブジェクトに変換するものではありません。データソース。主に以下を含むほぼすべての Python データ オブジェクトをカプセル化および解凍できます。
None、True、False
整数、浮動小数点数、複素数
文字列、バイト、ByteArray オブジェクト
カプセル化されたオブジェクトを含むタプル、リスト、セット、辞書
モジュール内 定義された関数モジュールのトップレベル
モジュールのトップレベルで定義された組み込み関数
モジュールのトップレベルで定義されたクラス
__dict__ または __getstate__() の呼び出しの結果カプセル化できるクラスのインスタンスです
pickle モジュールで一般的に使用されるメソッドは次のとおりです:
1. pickle.dump(obj, file,protocol=None,)
必須パラメータ obj は、カプセル化されるオブジェクトを表します
必須パラメータ ファイルは、obj によって書き込まれるファイル オブジェクトを表します。ファイルはバイナリ書き込み可能モード、つまり "wb" で開く必要があります。
オプションのパラメーターのプロトコルは、ピックラーで使用されるプロトコルを示します。サポートされているプロトコルは 0、1、2、および 3 です。デフォルトのプロトコルは、Python 3 で追加されたプロトコル 3 です。その他のプロトコルの詳細については、リファレンス ドキュメントを参照してください。 🎜>
2. pickle.load(file,*,fix_imports=True, encoding="ASCII",errors="strict")必須パラメータ ファイルはバイナリ読み取り可能モード、つまり「rb」で開く必要があります。他のパラメータはオプションです
3. pickle.dumps(obj): カプセル化されたオブジェクトをバイト オブジェクトの形式で返します。ファイルに書き込む必要はありません
4. pickle.loads(bytes_object): bytes オブジェクトからカプセル化されたオブジェクトを読み取り、
を返します。
pickle モジュールには 3 つの例外が考えられます:1. PickleError: Exception
を継承した、カプセル化および解凍時に発生する例外クラス
2. PicklingError: PickleErrorから継承された、カプセル化できないオブジェクトに遭遇したときに発生する例外
3. UnPicklingError: オブジェクトの解凍プロセス中に発生する例外。PickleErrorから継承されます。
ピクルスの応用例:
pickle.dump({"name":"AlwaysJane", "age":"20+", "sex":"女性) "}、私のプロフィール)
print (pickle.load(get_myprofile))
名前 = "AlwaysJane"
print (pickledclass)
print (pickle.loads(pickledclass))
参考資料を添付してください