pickle & json &shelve
用于序列化的两个模块
- json,用于字符串 和 python数据类型间进行转换
- pickle,用于python特有的类型 和 python的数据类型间进行转换
- Json模块提供了四个功能:dumps、dump、loads、load
- pickle模块提供了四个功能:dumps、dump、loads、load
- dumps序列数据为字节和字符串 dump序列化数据到文件
JSON 只能对字符串 字典 列表 元组序列化和反序列化,但逐个序列化数据时反序列化时也只能逐个反序列化
import json with open('test.txt','w') as f: dic={'user':"howhy","age":12} data=json.dumps(dic) f.write(data) #最后两行可以用json.dump(dic,f)代替 import json with open('test.txt','rb') as f: data=f.read() print(json.loads(data))#最后两行可以用print(json.load(f))代替
import pickle with open('test.txt','w') as f: dic={'user':"howhy","age":12} data=pickle.dumps(dic) f.write(data) #最后两行可以pickle.dump(dic,f)代替 import pickle with open('test.txt','rb') as f: data=f.read() print(pickle.loads(data))#最后两行可以用print(pickle.load(f))代替
shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式
1 import shelve 2 d=shelve.open('test1.txt') 3 dic={'user':'user1','age':13} 4 d['user']=dic 5 d.close() 6 7 import shelve 8 s=shelve.open('test1.txt') 9 print(s['user']) 10 s.close()

浙公网安备 33010602011771号