Python3 json和pickle序列化
阿新 • • 發佈:2019-07-20
用於序列化的兩個模組
- json,用於字串 和 python資料型別間進行轉換
- pickle,用於python特有的型別 和 python的資料型別間進行轉換
Json模組提供了四個功能:dumps、dump、loads、load
pickle模組提供了四個功能:dumps、dump、loads、load
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