简述
在json、pickle模块说过最好是dump一次、pickle一次,若如果真想dump、load多次,并且能将数据的进行持久化,应当如何呢?
shelve模块
shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式
1 #将数据写入文件 2 import shelve 3 import datetime 4 d = shelve.open("test")#打开一个文件 5 info = { 6 "name":"kangkang", 7 "age":18 8 } 9 name = ["Lily","Mike","Heny"] 10 d["info"] = info 11 d["name"] = name 12 d["data"] = datetime.datetime.now() 13 d.close()
1 #从文件获取数据 2 import shelve 3 4 5 6 d = shelve.open("test")#打开一个文件 7 print(d.get("data")) 8 print(d.get("info")) 9 print(d.get("name")) 10 结果: 11 2017-06-14 00:25:06.675753 12 {'name': 'kangkang', 'age': 18} 13 ['Lily', 'Mike', 'Heny']