本文主要是介绍jsonpickle数据序列化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
用于序列化的两个模块:
- 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 jsonj_str = json.dumps(data)
print(j_str)#json.dump 将数据通过特殊的形式转换为所有程序语言都认识的字符串,并写入文件
with open("test.json","w") as f:json.dump(data,f)
pickle反序列化
import picklef = 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()
这篇关于jsonpickle数据序列化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!