2017-02-12 6 views
4

ピクルファイルを読み書きするとき、一部のスニペットは.p、その他は.pkl、一部は.pickleを使用しています。これを行うための最も無邪気な方法が1つありますか?ファイル拡張子の名前付け:.p vs .pkl対ピックル

私の現在の見解は、正解が1つもなく、これらのいずれかで十分です。実際にawesome.pklまたはawesome.sauceのファイル名を書き込んでも、pickle.load(open(filename, "rb"))を実行しても差はありません。つまり、ファイル拡張子は基本的なデータに実際に影響を与えない慣例に過ぎません。そうですか?

ボーナス:PNG画像をmyimage.jpgとして保存した場合はどうなりますか?それはどんな混乱を招くでしょうか? 「ピクルスプロトコルは」たびに実行されますので、

答えて

2

延長は違いを行うものではありません。

つまり、pickle.dumpsまたはpickle.loadsが実行されるたびに、オブジェクトはpickleプロトコルに従ってシリアル化/非シリアル化されます。

(ピクルスプロトコルはシリアライゼーションフォーマットある)

ピックルプロトコルは特定パイソン(そしていくつかのバージョンがあります)。あなたがpickleされたファイルを異なるバージョン pickle/Pythonにした場合、そのファイルはが正しくロードされない可能性があります。おそらく可能でしょうか? Javaのような別の言語でそのピクルスファイルに役立つものは何もしません。

そうで、 Picklerさんにそれらを無視しますので、あなたが好きなの拡張機能を使用しています。/

source:しかし、それはのpythonに直接応えていないので、特定の変数の型は、それが理解されていない -

JSONはデータをシリアル化の別のより一般的な方法ですが、また、漬物とは異なり、言語のことで使用することができますあなたがもっと読むには

関連する問題