shelve模块 也可以序列化Python所有数据类型,而且可以多次序列化;shelve模块通过key-value方式持久化
1.序列化
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
import shelve"""shelve 也可以序列化Python所有数据类型,而且可以多次序列化 shelve模块通过key-value方式持久化"""import datetimef=shelve.open("shelve_text") #持久化生成的文件名info = {"a":"A","b":"B","c":"C"}list = ["fsd","jkl","kls",45,9]date = datetime.datetime.now()+datetime.timedelta(3)''' 序列化 '''f["info"] = infof["list"] = listf["date"] = datef.close() |
输出结果:会生成几个文件
|
1
2
3
|
shelve_text.bakshelve_text.datshelve_text.dir |
2.反序列化,通过get(key)来获取数据
|
1
2
3
4
5
6
|
''' 反序列化 '''f=shelve.open("shelve_text") #持久化生成的文件名print(f.get("info"))print(f.get("list"))print(f.get("date"))f.close() |
输出结果:
|
1
2
3
|
{'a': 'A', 'b': 'B', 'c': 'C'}['fsd', 'jkl', 'kls', 45, 9]2018-07-19 22:42:18.149149 |