python 序列化 pickle和json
2020-12-13 04:14
标签:交换 网络传输 lis 直接 磁盘 ack 支持 服务器 htm 我们把对象(变量)从内存中变成可存储或传输的过程称为序列化,在Python中用pickle或json标准库。序列化之后,就可以把序列化后的内容写入磁盘,或者通过网络传输的别的计算机上。 pickle:支持Python里所有的数据类型(包括函数) json:支持str,int,tule,list,dict 如果我们要在不同的编程语言之间传递对象,就必须把对象序列化为标准格式,比如XML,但更好的方法是序列化为json,因为json表示出来就是一个字符串,可以被所以语言所读取,也可以方便地存储到磁盘或者通过网络传输。json不仅是标准格式,而且比xml快,可以直接在web页面中读取,非常方便。 json:JavaScript Object Notation,是一种轻量级的数据交换格式。Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式。 将Python对象转换成json对象常用的两个函数是dumps和dump,之间唯一的区别就是dump把Python对象转换成json对象生成一个fp文件流,而dumps则生成一个字符串。 将json对象转成Python对象常用的两个函数是load和loads,区别同上。 下面是pickle标准库的用法: 参考资料:https://www.cnblogs.com/fmgao-technology/p/9078924.html python 序列化 pickle和json 标签:交换 网络传输 lis 直接 磁盘 ack 支持 服务器 htm 原文地址:https://www.cnblogs.com/blogzyq/p/11105060.htmlimport json
#---序列化---
dic={‘name‘:‘jack‘,‘age‘:22,‘sex‘:‘male‘}
data=json.dumps(dic)
f=open(‘json_test.txt‘,‘w‘)
f.write(data) #--json.dump(dic.f)
f.close()#---反序列化---
fr=open(‘json_test.txt‘)
dicdata=json.loads(fr.read()) #---等价于dicdata=json.load(fr)
fz.close()import pickle
#---序列化---
dic={‘name‘:‘jack‘,‘age‘:22,‘sex‘:‘male‘}
p=pickle.dumps(dic)
f=open(‘pickle_test‘,‘wb‘) #---等价于pickle.dump(dic,f)
f.write(p)
f.close()
#---反序列化---
fr=open(‘pickle_test‘,‘rb‘)
dicata=pickle.loads(fr.read()) #---等价于dicdata=pickle.load(fr)
fr.close()