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 datetime
f=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"] = info
f["list"] = list
f["date"] = date
f.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
|