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'>
相关文章
相关标签/搜索