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'])
博主小学未毕业,请勿口喷!