2012-05-10 8 views
0

pickleはオブジェクトの永続性ライブラリで、データ構造体をディスクに書き出してリロードすることができます。python pickle:それはなんですか?いつ私はそれを使用するでしょうか?

なぜ私はこれを行うのでしょうか、テキストファイルを使用する「伝統的な」方法ですか?

EDIT:実際には、それは質問のフレーズに役立つ方法ではありません。私はピクルがより簡単で便利になる状況は何ですか?いつ問題になるのですか?どのようなデータやデザインパターンがピクルに適していますか?

+2

http://docs.python.org/library/pickle.htmlを読んだことがありますか? – akaRem

+0

@akaRem - 私はしましたが、あなたがなぜピクルをするのかは明らかではありません。 – gecko

答えて

5

テキストではないPythonオブジェクトを保存したい場合、他のライブラリ(JSON、msgpackなど)と簡単にシリアル化できず、独自のシリアライゼーションコードとデシリアライズコードを書きたくない場合。

一般ピクルスが最後のシリアライズとデシリアライズ方法である必要があり、話す:それは迅速ではありません(msgpackがはるかより速く、よりコンパクトである)、(これまでのストレージとしてピクルスを使用しない安全ではありませんクッキーやその他のクライアントアクセス可能なデータの形式)は相互運用できません(非Python言語の実装はありません)...しかし、一般的にサポートされていないオブジェクトやデータ型では機能します(ただしはすべて Pythonオブジェクト)。

1

ピクルスなどを使用すると、それらのオブジェクトを再構成するために使用できるオブジェクトのテキスト表現を得ることができます。 pickleのようなものがなければ、独自のパーシスタンスコードを書くことなく、できません。

関連する問題