Python3 json和pickle序列化

用於序列化的兩個模塊python

  • json,用於字符串 和 python數據類型間進行轉換
  • pickle,用於python特有的類型 和 python的數據類型間進行轉換

Json模塊提供了四個功能:dumps、dump、loads、loadjson

pickle模塊提供了四個功能:dumps、dump、loads、loadcode

import pickle

data = dict(k1=123, k2='hello')

# pickle.dumps 將數據經過特殊的形式轉換爲只有python語言認識的字符串
p_str = pickle.dumps(data)
print(p_str)

# pickle.loads 將pickle字符串轉換爲原數據類型的數據
d = pickle.loads(p_str)
for k in d:
    print ("%s ---> %s" % (k,d[k]))

# pickle.dump 將數據經過特殊的形式轉換爲只有python語言認識的字符串,並寫入文件
with open('result.pk','wb') as fp:
    pickle.dump(data,fp)

with open('result.pk','rb') as fp:
    d = pickle.load(fp)
    print(type(d)) # <class 'dict'>


import json
j_str = json.dumps(data)
print(j_str)
print(type(j_str)) # <class 'str'>
d = json.loads(j_str)
print(type(d)) # <class 'dict'>
相關文章
相關標籤/搜索