Python3 shelve模块(持久化)

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.bak
shelve_text.dat
shelve_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
posted @ 2018-07-17 17:38  CansonHai  阅读(746)  评论(0编辑  收藏  举报