web-dev-qa-db-ja.com

オブジェクトがピクル可能(またはピクル可能)になるとはどういう意味ですか?

PythonのドキュメントではこのWordについて頻繁に言及していますが、その意味を知りたいと思います。グーグルはあまり役に立ちません。

66
Paul

pickle モジュールによってシリアル化できることを意味します。この基本的な説明については、 ピクルスとピクルス解除できるもの を参照してください。 pickleプロトコル は詳細を提供し、クラスがプロセスをカスタマイズする方法を示します。

46

通常は選択できないものは、たとえば、ソケット、ファイル(ハンドラー)、データベース接続などです。基本的なpythonタイプ(dict、リスト、プリミティブ、オブジェクト、オブジェクト参照、さらには円形)から(再帰的に)構築されるすべてのものは、デフォルトでピクルできます。

たとえば、データベース接続の構成を保存して後で復元するカスタムピックリングコードを実装できますが、これには特別なカスタムロジックが必要になります。

これらはすべて、xml、json、およびyamlよりもはるかに強力なpicklingを行います(ただし、間違いなく読みやすいものではありません)

24