python为开发者提供了一个轻量级的数据存储方式shelve,对于一些轻量数据,使用shelve是个比较不错的方式。对于shelve,可以看成是一个字典,它将数据以文件的形式存在本地。下面介绍具体用法。
1 import shelve
2
3 #shelve提供一个open方法,接受一个文件作为参数。
4 f=shelve.open('ceshi.text') #拿到一个shelve句柄,同时给shelve传入一个文件作为参数
5
6 #写入信息
7 f['info'] = {'name':'chris','age':18} #'info'相当于一个键,它的值就是后面保存的字典
8
9 #将保存的信息读取
10 #第一种,直接输出所有内容
11 print(f['info'])
12
13 date = f['info']
14 print(date)
15
16
17
18 #第二种,可以取具体某个值。因为键'info'保存的值是一个字典,而f['info']自身又是一个字典
19 ,它的值就是保存的字典。
20 val=f['info']['name']
21 print(val) #获取具体的'name'的一个值
22
23
24
25
26 #shelve不仅仅限于可以保存字典,其他类型的数据都能保存。
27 f = shelve.open('test.txt')
28 f['list'] = [1,2,3] #保存列表
29 lis = f['list']
30 print(lis)
31
32
33
34
35
36 #关于获取shelve数据内容,shelve提供了一个get方法。
37 date1 = f.get('info') #用get获取‘info’数据
38 print(date1)
39 date2 = f.get('lis') #获取‘lis’的数据
40 print(date2)
41
42 #关于get还有有个小方法,当要获取的数据不存在时,会报错,此时在后面传入一个提示信息就不会报错,并返回这个提示信息。
43
44 date3 = f.get('inf',"数据不存在")
45 print(date3)
46 #当“inf”不存在时,不会报错,而是返回后面的“数据不存在”这个提示信息。