json、pickle序列化及反序列化
1. 将数据通过json序列化(不能对内存地址进行序列化)
import json
info = {
'name': "zhangsan",
'age': '26',
'sex': 'man'
}
f = open('t1.text','w')
f.write(json.dumps(info))
f.close()
2. 查看生成的文件
{"name": "zhangsan", "age": "26", "sex": "man"}
3. 重新加载json序列化文件,如下所示,打印结果将为26(在python3中,一个文件只能load一次)
#!/usr/bin/env python
#_*_ coding: utf-8 _*_
import json
f = open('t1.text')
data = json.loads(f.read())
print(data['age'])
---------------------------------------------------------------------------------------------------------------------------------------------------
使用pickle对数据进行序列化,使用方法与json类似,只不过pickle支持的数据类型更多,但不能跨语言调用
1. 将数据序列化
#!/usr/bin/env python
#_*_ coding: utf-8 _*_
import pickle
info = {
'name': "zhangsan",
'age': '26',
'sex': 'man'
}
f = open('t1.text','wb')
f.write(pickle.dumps(info)) # pickle.dump(info.f) 这两句效果一样
f.close()
2. 查看序列化文件内容,如下所示,内容为pickle专用格式

3. 重新加载序列化数据,打印结果将为26
#!/usr/bin/env python
#_*_ coding: utf-8 _*_
import pickle
f = open('t1.text','rb')
data = pickle.loads(f.read()) #data = pickle.load(f),这两句的效果一样
print(data['age'])
博主小学未毕业,请勿口喷!

浙公网安备 33010602011771号