いや! 私たちの選択はピクルスです!
前文
Pickle(英語の保存、pickle)-後続の転送のためにPythonでオブジェクトをシリアライズおよびデシリアライズするためのモジュール。
どのタイプのデータをPickleパックできますか?
- なし、真、偽
- 文字列(通常またはユニコード)
- 標準数値データ型
- 辞書、リスト、タプル
- 機能
- クラス
Pythonの作成者自身が公式ドキュメントでcPickleの使用を推奨しています。プログラムを長期間変更しないようにするには、次のようにcPickleを接続できます。
import cPickle as pickle
基本
オブジェクトの保存の使用方法 2つのオプションがあります。オブジェクトを文字列で保持するか(たとえば、ソケットを介して渡すことができます)、またはファイルに直接保存します。
3つの保存プロトコルがあります。
- バージョン0 、標準ASCIIプロトコル。 Pythonの以前のバージョンとの互換性のためにのみ使用する必要があります。
- バージョン1はほぼ同じで、古いバージョンのPythonとの互換性のために使用されます。
- バージョン2はバージョン2.3で初めて導入され、最新の構文で記述されたオブジェクトを最適にパックします。使用することをお勧めします。
import cPickle as pickle
obj = {"one": 123, "two": [1, 2, 3]}
output = pickle.dumps(obj, 2)
ご覧のとおり、複雑なことは何もありません。オブジェクトを送信する準備ができています。
今、あなたはそれを元に戻す必要があります。 これはさらに簡単です:
obj = pickle.loads(output)
キャニングプロトコルは自動的に決定されます。
オブジェクトをファイルにパックしてみましょう。
import cPickle as pickle
obj = {"one": 123, "two": [1, 2, 3]}
output = open('data.pkl', 'wb')
pickle.dump(obj, output, 2)
output.close()
ファイルへの書き込みモードはwbでなければならないことに注意してください。つまり、バイナリモードでファイルを上書きします。 読み取りの場合、モードはrbである必要があります。
import cPickle as pickle
input = open('data.pkl', 'rb')
obj = pickle.load(input)
input.close()
ご清聴ありがとうございました。 次回は、PythonでXMLデータを作成および解析する機能についてお話したいと思います。