Pythonピクルスに適した(または最も一般的な)ファイル拡張子


84

時には、私が見てきた.pickle.pck.pcl、および.dbPythonの漬物を含むファイルのために、私は、最も一般的なまたはベストプラクティスは何かわかりませんよ。後者の3つの拡張機能は他の用途にも使用されていることを私は知っています。

関連する質問は次のとおりです。RESTAPIを使用してシステム間でピクルスを送信するために推奨されるMIMEタイプは何ですか。


3
面白いのは、私が.pklを使ったことがあると確信していることです。
idjaw 2016年

2
何らかの理由で、これはPython 3ドキュメントではなく、Python 2ドキュメントにあり、pkl-> docs.python.org/2/library/pickle.html#example
idjaw

4
可能な限り漬物は避けてください。ドキュメントがピクルスの使用に対して警告する理由があります-それは安全ではなく、決して安全ではなく、決して安全ではありません。代わりにjsonモジュールを使用してください。
KingRadical 2016年

@KingRadicalいくつかの選択肢を教えていただけますか?
RafaNogales20年

1
良いバイナリ代替思わmsgpack @RafaNogales pypi.org/project/u-msgpack-python
ジュリアーノ・オリベイラ

回答:


97

Python 2

Python 2のドキュメントから、シリアル化(つまり、pickleファイルへの書き込み)中に次を使用します。

output = open('data.pkl', 'wb')

私が選ぶだろう .pklPython 2を使用は、拡張機能として。

Python 3

Python 3ドキュメントの例では.pickle、シリアル化のファイル拡張子として次のように使用しています。

with open('data.pickle', 'wb') as f:
    pickle.dump(...)

martineauのコメントからピクルスを送るために好まれるMIMEタイプ以下の:

アプリケーション/オクテットストリーム

バイトのblobに使用するHTTP「コンテンツタイプ」とは何ですか?を参照してください


text/plain使用されているpickleプロトコルによっては、機能しない場合があります—プロトコルバージョン0のみがASCIIです。
martineau 2016年

2
そうは言ってapplication/octet-streamも、プロトコルに関係なく、より良いと思います—質問を参照してくださいバイトのブロブに使用するHTTP「コンテンツタイプ」とは何ですか?
martineau 2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.