1. 程式人生 > >Python3 json和pickle序列化

Python3 json和pickle序列化

用於序列化的兩個模組

  • 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