Python3 json和pickle序列化

被刻印的时光 ゝ 提交于 2020-02-29 11:19:55

用于序列化的两个模块

  • 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 'dict'>
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!