您的位置:首页 > 编程语言 > Python开发

python入门系列15―——shelve

2017-07-05 15:18 183 查看
欢迎前往我的个人博客

如果只需要一个简单的存储方案,我们可以使用shelve,高级的我们可以使用SQLite或者pySQLite。

shelve模块都是以键值对的形式保存数据,key必须为字符串,而值可以是python所支持的数据类型

获取一个shelve对象,没有会创建:

sh=shelve.open('Mydb.dat')
插入数据:

import shelve
sh=shelve.open('Mydb.dat')
sh['a']=['a','b']
print sh['a']
接下来看这个例子:

import shelve
sh=shelve.open('Mydb.dat')
sh['a']=['a','b']
sh['a'].append('c')
print sh['a']
存储的d到哪里去了呢?其实很简单,d没有写回,你把['a', 'b', 'c']存到了x,当你再次读取s['x']的时候,s['x']只是一个拷贝,而你没有将拷贝写回,所以当你再次读取s['x']的时候,它又从源中读取了一个拷贝,所以,你新修改的内容并不会出现在拷贝中,解决的办法就是,第一个是利用一个缓存的变量,如下所示

import shelve
sh=shelve.open('Mydb.dat')
sh['a']=['a','b']
tmp=sh['a']
tmp.append('c')
sh['a']=tmp
print sh['a']


删除shelve对象中的某个键值对:

del sh['a']
遍历所有数据:

for item in sh.items():
print('键[{}] = 值[{}]'.format(item[0], sh[item[0]]))
关闭shelve对象:

sh.close()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python