json&pickle数据序列化

用于序列化的两个模块:

  • json,用于字符串和python数据类型间的转换
  • pickle,用于python特有的类型和python的数据类型间进行转换

Json模块提供了四个功能:dumps、dump、loads、load
pickle模块提供了四个功能:dumps、dump、loads、load

原则上,dump一次,load一次,想dump多次就写入多个文件

import pickle
data = {'k1':123,'k2':'hello'}
#pickle.dumps 将数据通过特殊的形式转换为只有python认识的字符串
p_str = pickle.dumps(data)
print(p_str)

print(type(data))
#pickle.dump 将数据通过特殊的形式转换为只有python认识的字符串,并写入文件
with open("test.pk",'w') as f:
    #python3会报错,python3中文件写入模式应为“wb”,使用二进制方式,而不是字符方式写入
    pickle.dump(data,f)

import json

j_str = json.dumps(data)
print(j_str)

#json.dump 将数据通过特殊的形式转换为所有程序语言都认识的字符串,并写入文件
with open("test.json","w") as f:
    json.dump(data,f)

pickle反序列化

import pickle

f = open("test.txt","rb")
data = pickle.loads(f.read())#等价于data = pickle.load(f)
print(data["func"]("yanzhuang"))
f.close()

json反序列化

import json
f = open("test.txt","r")
data = json.loads(f.read())
print(data.get("name"))

f.close()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值