1. ホーム
  2. python

[解決済み] Pythonにおけるpickleの一般的な使用例

2022-05-30 21:50:43

質問

私は ピックル のドキュメントを見ましたが、pickleがどこで役に立つのか理解できません。

pickleの一般的な使用例にはどのようなものがありますか?

どのように解くのですか?

私が遭遇したいくつかの使用法。

1) プログラムの状態データをディスクに保存し、再起動したときに中断したところから再開できるようにする (永続化)

2) マルチコアまたは分散システムにおいて、TCP接続を介してPythonデータを送信する (マーシャリング)

3) データベースへのPythonオブジェクトの保存

4) 任意のPythonオブジェクトを文字列に変換し、辞書のキーとして使用できるようにする(例:キャッシュ&アンプ;メモ化)。

2つの同じオブジェクトをpickleして異なる文字列にしたり、同じオブジェクトを2回pickleしても異なる表現になることがあります。 これは、ピクルスが参照カウント情報を含むことができるためです。

注意深く作られたpickleはシステム上で任意のコードを実行することができるため、信頼できないソースからの文字列のpickleを決して解いてはいけません。 たとえば、次のようになります。 https://blog.nelhage.com/2011/03/exploiting-pickle/