shelve 模块 ,重点!!好用,序列化反序列化
shelve模块
shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式
1 # coding=utf-8 2 import shelve 3 import datetime 4 5 d = shelve.open('shelve_test') # 打开一个文件 6 7 dic={'age':22,'job':'pyhton'} 8 list=['qiangql','happy','test'] 9 date_time=datetime.datetime.now() 10 11 d["dic"] = dic # 持久化列表 12 d["list"] = list # 持久化类 13 d['date_time']=date_time 14 # d['date_time']=datetime.datetime.now() 15 d.close()
运行后生成了三个文件
调用方法
# coding=utf-8 import shelve f=shelve.open('shelve_test') print(f.get('list')) print(f.get('dic')) print(f.get('date_time'))
结果
qiangql解析版
1 # coding=utf-8 2 import shelve 3 import datetime 4 5 d = shelve.open('shelve_test') # 打开一个文件 6 7 dic={'age':22,'job':'pyhton'} 8 list=['qiangql','happy','test'] 9 date_time=datetime.datetime.now() 10 11 d["a"] = dic # 持久化列表 12 d["b"] = list # 持久化类 13 d['c']=date_time 14 # d['date_time']=datetime.datetime.now() 15 d.close()
1 # coding=utf-8 2 import shelve 3 f=shelve.open('shelve_test') 4 print(f.get('a')) 5 print(f.get('b')) 6 print(f.get('c'))