python利用dbm耐久字典(python微型数据库)详解
当前位置:以往代写 > Python教程 >python利用dbm耐久字典(python微型数据库)详解
2019-06-14

python利用dbm耐久字典(python微型数据库)详解

python利用dbm耐久字典(python微型数据库)详解

在一些python小型应用措施中,不需要干系型数据库时,可以利便的用耐久字典来存储名称/值对,它与python的字典很是雷同,主要区别在于数据是在磁盘读取和写入的。另一个区别在于dbm的键和值必需是字符串范例。

1.选择dbm模块

python支持许多dbm模块,遗憾的是,每个dbm模块建设的文件不兼容。

下表列出这些模块:

模块说明

dbm选择最好的dbm模块

dbm.dumb利用dbm库的一个简朴但可移植的实现

dbm.gnu利用GNU dbm的库

一般除非某个dbm库有非凡高级成果,那就用dbm模块。

2.建设耐久辞书

import dbm
db = dbm.open('Bookmark', 'c')
#添加选项
db['MyBlog'] = 'jonathanlife.sinaapp.com'
print(db['MyBlog'])
#生存,封锁
db.close()

open函数关于打开dbm的方法有三种:

符号用法

C打开文件对其读写,须要时建设该文件

W打开文件对其读写,假如文件不存在,不会建设它

N打开文件举办读写,但老是建设一个新的空缺文件

也可以通报另一种暗示模式的可选参数,该模式生存了一组UNIX文件权限,这里不细说。

3.会见耐久字典

从open函数返回的工具视作一个字典工具。对值的存取方法如下:

db[‘key’] = ‘value’
value = db[‘key’]
#删除值:
del db[‘key’]
#遍历所有key:
for key in db.keys():
   #your code here

代码实例:

import dbm
#open existing file
db = dbm.open('websites', 'w')
#add item
db['first_data'] = 'Hello world'
   
#verify the previous item remains
if db['first_data'] != None:
    print('the data exists')
else:
    print('Missing item')
  
#iterate over the keys, may be slow
for key in db.keys():
    print("Key=",key," value=",db[key])
  
#delete item
del db['first_data']
  
#close and save to disk
db.close()

    关键字:

在线提交作业