11.10. dbhash — BSD 数据库库的 DBM 风格接口 — Python 文档
来自菜鸟教程
Python/docs/2.7/library/dbhash
11.10. 数据库哈希 — BSD 数据库库的 DBM 风格接口
自 2.6 版起已弃用:dbhash 模块已在 Python 3 中删除。
dbhash 模块提供了使用 BSD db
库打开数据库的功能。 该模块反映了其他 Python 数据库模块的接口,这些模块提供对 DBM 样式数据库的访问。 bsddb模块需要使用dbhash。
这个模块提供了一个异常和一个函数:
- exception dbhash.error
- 除
KeyError
以外的数据库错误引发异常。 它是bsddb.error
的同义词。
- dbhash.open(path[, flag[, mode]])
打开一个
db
数据库并返回数据库对象。 path 参数是数据库文件的名称。flag 参数可以是:
价值
意义
'r'
以只读方式打开现有数据库(默认)
'w'
打开现有数据库进行读写
'c'
打开数据库进行读写,如果不存在则创建
'n'
总是创建一个新的、空的数据库,以读写方式打开
对于 BSD
db
库支持锁定的平台,可以附加一个'l'
以指示应该使用锁定。可选的 mode 参数用于指示必须创建新数据库时应设置的 Unix 权限位; 这将被进程的当前 umask 值屏蔽。
11.10.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()
- 此方法强制将任何未写入的数据写入磁盘。