Pythonのシリアライズの議論、およびダンプ、ダンプとロードは、コントラスト差をロードします

シリアライゼーション
シリアライゼーション:ピクルスモジュールJSONモジュールは棚上げモジュール
Aモジュール.pickle
1.pickleモジュール
1)オブジェクトを伝送または記憶するためのフォーマットに変換することができます。
2)ピクルスモジュールは、Pythonの処理動作は、バイトシリアル・システム・オブジェクトと呼ばれているのいずれかにオブジェクト。
3)漬物モジュールは、Pythonのすべてのデータのシリアライゼーションおよびデシリアライゼーションを実装します。それは、送信対象の永続性やPython Pythonオブジェクトプログラムとの間でのみ互いに通りであり、複数の言語間での伝送のために使用されません。

ピクルスインポート
位----ファイル1つのに記憶されたデータをシリアル化
情報= {「名:」:「暁」、「年齢」:} 22は
data_info =オープン(「a.pkl」、「WB」)
ピクルス。ダンプ(情報、data_info)
data_info.close()
#---ファイルの順序を逆に読み出してデシリアライズされた
=オープン( 'a.pkl'、DATA_OUTは'rb')を
= pickle.load(DATA_OUT)
プリント(A)

差2.dumpとダンプ:
ダンプ・オブジェクトがシリアライズされ、ファイルに保存されている
オブジェクトのシリアルダンプです

差分3.loadをロード:
ファイルとデシリアライズから読み出しシリアル化された文字列を読み込み
シリアライズ文字列デシリアライズ負荷
コードの実行は:DATA1 = [1,2、「 」、3「B」 PI = pickle.dumps(DATAL)はオブジェクトのみの#dumpsをシリアライズするために使用され

プリント(PI) 
印刷(pickle.loads(PI))は#のみ逆シリアル化オブジェクトをロードすることができ

DATA2 = { 'name'を'アレックス'、 '年齢': '少年':22 'セックス'である}
F =オープン(「b.pkl」、「WB」)
pickle.dump(DATA2、F)#dumpのみならず、標的配列、及び対象の配列をファイルに書き込むことができ
、F =オープン(「b.pkl」、 「RB 「)
印刷(pickle.load(F))#ロードは対象外ファイルから読み込まれ、その後、非直列化することができ

、実行結果を:

B '\ X80 \ X03] q個の\ X00(K \ x01K \ x02X \ X01 \ X00 \ X00 \ x00aq \ x01K \ x03X \ X01 \ X00 \ X00 \ x00bq \ x02e。'
[1、2 ''、3 'B']

以下の方法で使用します
DATA3 = { 'K1' 123、 'K2':456} 
str_pとしてオープンと( 'c.pkl'、 'WB'):
pickle.dump(DATA3、str_p)

オープン( 'c.pkl'、 'RBと「)str_rとして:
= pickle.load(str_r)
プリント(A)
#概要:ダンプとダンプ、負荷との負荷の違い
だけで、オブジェクトのシリアライズダンプ#
#ダンプは、オブジェクトをシリアル化してファイルにシリアライズされたオブジェクトを保存することができます
唯一のシリアル化された文字列のデシリアライゼーション#ロード
#負荷は、文字列のうち、ファイルから読み込まれ、その後、非直列化することができます


二つ.json
1.主なパラメータ:
1)OBJ:オブジェクトobj形式とオブジェクト・ファイルに格納され、ファイルが書き込み可能なファイルハンドル、のみSTRオブジェクトが生成JSONでなければならない
バイトのオブジェクトをサポートしていません。
2)skipkey:Trueの場合、オブジェクトの基本的なタイプはstrをしなければならない、int型、float型、BOOL、非
3)ensure_ascii =真:だから文字がFalseの場合、着信非ASCII文字は、真エスケープされている場合それはのように出力されます。
4)check_circular = TRUE:参照が真の容器の型チェックサイクルがスキップされる場合
5)インデントは=なし:配列とオブジェクトの発現要素は、指定された値によってインデントされ、整数または文字列「\ T」なくてもよい
。6 )sort_keys =偽:出力がキーでソート真の辞書になる場合

そして、pickleモジュールの2.jsonの違い:
。1)のみJSONの基本的なデータ型を扱うことができます。
Pythonのピクルスは、すべてのデータ型を扱います。
様々な言語間の文字変換のための2)JSON。
ピクルスPythonプログラムは、Python Pythonプログラムオブジェクトまたはネットワーク伝送における持続性または永続オブジェクトのためのオブジェクト。

三の.shelveモジュール
と永続データと同様ピクルスが、永続性を介して、メモリファイルのサポートでデータの形式を棚上げするための鍵である、
サポートされている任意のpythonピクルスデータ・フォーマットをサポートする値は、ディレクトリになります3つのファイルを生成します。
コードを実行します。

---------------------

インポート棚

S = shelve.open( 'test_s.db')
S [ 'K1'] = { 'INT':10 'フロート':8.8、 '列': 'Pythonは'}
()S。CLOSE

S =棚を.open( 'test_s.db')
プリント(S [ 'K1'])
印刷(S [ 'K1'] [ 'フロート'])
(S。CLOSE)

执行结果

{ 'INT':10 'フロート':8.8、 '列': 'のpython'}
8.8

おすすめ

転載: www.cnblogs.com/mu1314/p/11108897.html