day5-shelve

shelve模块

1. 持久化

 1 import shelve
 2 
 3 def sayhi(name):
 4     print "hello:",name
 5 
 6 name = ['ww','ws','wr']
 7 
 8 info = {
 9     'name':'ww',
10     'group':7,
11     }
12 
13 # 存储
14 d = shelve.open('shelve_test1')
15 d['name'] = name
16 d['info'] = info
17 d['func'] = sayhi
18 d.close()

2. 解析

 1 import shelve
 2 
 3 # 需定义同样的函数
 4 def sayhi(name):
 5     print "hello:",name
 6 
 7 # 解析
 8 f = shelve.open("shelve_test1")
 9 print(f['name'])
10 print(f['info'])
11 print(f["func"]("ww"))
12 f.close()
13 
14 >>> 
15 ['ww', 'ws', 'wr']
16 {'group': 7, 'name': 'ww'}
17 hello: ww
18 None

小结:

1. shelve模块是一个简单的key,value将内存数据通过文件持久化的模块。

2. shelve模块可以持久化任何pickle可支持的python数据格式。

3. shelve就是pickle模块的一个封装。

4. shelve模块可以多次dump和load。

posted @ 2017-06-17 23:26  不知所以  阅读(80)  评论(0)    收藏  举报