Python Languageデータのシリアル化


構文

  • unpickled_string = pickle.loads(文字列)
  • unpickled_string = pickle.load(file_object)
  • pickle_string = pickle.dumps([( ''、 'cmplx')、{( 'object'、):なし}]、pickle.HIGHEST_PROTOCOL)
  • pickle.dump(( ''、 'cmplx')、{( 'object'、):なし}]、file_object、pickle.HIGHEST_PROTOCOL)
  • unjsoned_string = json.loads(文字列)
  • unjsoned_string = json.load(file_object)
  • jsoned_string = json.dumps(( 'a'、 'b'、 'c'、[1、2、3]))
  • json.dump(( 'a'、 'b'、 'c'、[1、2、3])、file_object)

パラメーター

パラメータ詳細
protocol pickleまたはcPickleを使用すると、オブジェクトがシリアル化/シリアル化されていないメソッドです。ここでpickle.HIGHEST_PROTOCOLを使用したいと思うかもしれません。これは、最新のメソッドを意味します。

備考

JSONを使用する理由

  • クロスランゲージサポート
  • 人間が読める
  • pickleとは異なり、任意のコードを実行する危険性はありません

なぜJSONを使用しないのですか?

  • Pythonicデータ型をサポートしていません
  • 辞書のキーは、文字列データ型以外であってはなりません。

なぜピックル?

  • Pythonic(タプル、関数、クラス)を直列化するための素晴らしい方法
  • 辞書のキーはどのようなデータ型でもかまいません。

なぜピクルスじゃないの?

  • クロス言語サポートがありません
  • 任意のデータをロードすることは安全ではありません

データのシリアル化 関連する例