json序列化,反序列化,pickle
json特点:
不同语言之间的相互转换,只能对字典,列表,字符串简单的序列化,不能对函数进行序列化。
1. 内存————>硬盘(序列化)————>json.dump
import json
info={
'name':'huyong',
'age':26
}
f=open("test.text","w")
f.write(json.dumps(info))
f.close()
2.硬盘————>内存(反序列化)————>json.loads
import json
f=open("test.text","r")
date=json.loads(f.read())
print(date['age'])
pickle特点:
一.仅仅python语言之间的相互转换,能做复杂的序列化,能函数进行序列化。
二.序列化的不是内存地址,是整个对象
1. 内存————>硬盘(序列化)————>pickle.dump #写入文件的类型为byte
import json,pickle
info={
'name':'huyong',
'age':26
}
f=open("test.text","wb") #写入的文件为byte类型
#f.write(json.dumps(info))
f.write(pickle.dumps(info))
f.close()
2.硬盘————>内存(反序列化)————>pickle.loads
import json,pickle
f=open("test.text","rb")
#date=json.loads(f.read())
date=pickle.loads(f.read())
print(date['age'])
3.只能dumps一次,loads也只能一次;就像VM里面的快照,如果需要保存多次,只能保存不同名字的快照。

浙公网安备 33010602011771号