在线文档教程

dbhash

dbhash — DBM-style interface to the BSD database library

自2.6版以来已弃用:该dbhash模块已在Python 3中删除。

dbhash模块提供了使用BSD db库打开数据库的功能。该模块反映了提供对DBM式数据库访问权的其他Python数据库模块的接口。该bsddb模块需要使用dbhash

该模块提供了一个例外和一个功能:

exception dbhash.error

数据库错误以外的异常引发KeyError。它是一个同义词bsddb.error

dbhash.open(path[, flag[, mode]])

打开一个db数据库并返回数据库对象。该路径参数是数据库文件的名称。

标志参数可以是:

含义
'R'打开仅用于读取的现有数据库(默认)
'W'打开现有的数据库进行读写
'C'打开数据库进行读写,如果不存在则创建它
'N'总是创建一个新的空的数据库,打开阅读和写作

对于BSD db库支持锁定的平台,'l'可以附加一个表明应该使用锁定的平台。

如果必须创建新的数据库,则可选模式参数用于指示应该设置的Unix权限位; 这将被该过程的当前umask值所掩盖。

1.数据库对象

返回的数据库对象open()为所有DBM样式的数据库和映射对象提供通用的方法。除标准方法外,还提供以下方法。

dbhash.first()

使用这种方法和next()方法可以遍历数据库中的每个键/值对。遍历由数据库内部散列值进行排序,并且不会按键值进行排序。此方法返回开始键。

dbhash.last()

返回数据库遍历中的最后一个键/值对。这可以用来开始逆序遍历; 见previous()

dbhash.next()

返回数据库遍历中的键下一个键/值对。以下代码打印数据库中的每个键db,而不必在内存中创建一个包含它们的列表:

print db.first() for i in xrange(1, len(db)): print db.next()

dbhash.previous()

返回数据库正向遍历中的前一个键/值对。结合使用last(),这可以用来实现逆序遍历。

dbhash.sync()

此方法强制将任何未写入的数据写入磁盘。