11.12. dumbdbm — 便携式 DBM 实现 — Python 文档

来自菜鸟教程
Python/docs/2.7/library/dumbdbm
跳转至:导航、​搜索

11.12. 哑巴 — 便携式 DBM 实现

笔记

dumbdbm 模块已在 Python 3 中重命名为 dbm.dumb2to3 工具将在将您的源代码转换为 Python 3 时自动调整导入。


笔记

当没有更强大的模块可用时,dumbdbm 模块旨在作为 anydbm 模块的最后备用方案。 dumbdbm 模块不是为了速度而编写的,并且不像其他数据库模块那样频繁使用。


dumbdbm 模块提供了一个完全用 Python 编写的类似字典的持久接口。 与 gdbmbsddb 等其他模块不同,不需要外部库。 与其他持久映射一样,键和值必须始终是字符串。

该模块定义了以下内容:

exception dumbdbm.error
引发特定于 dumbdbm 的错误,例如 I/O 错误。 KeyError 针对一般映射错误(例如指定不正确的密钥)而引发。
dumbdbm.open(filename[, flag[, mode]])

打开一个dumbdbm 数据库并返回一个dumbdbm 对象。 filename 参数是数据库文件的基本名称(没有任何特定的扩展名)。 当创建一个dumbdbm 数据库时,会创建带有.dat.dir 扩展名的文件。

可选的 flag 参数当前被忽略; 数据库总是打开进行更新,如果它不存在将被创建。

可选的 mode 参数是文件的 Unix 模式,仅在必须创建数据库时使用。 它默认为八进制 0666(并将被流行的 umask 修改)。

在 2.2 版中更改: mode 参数在早期版本中被忽略。

除了类似字典的方法外,dumbdm 对象还提供以下方法:

dumbdbm.close()
关闭 dumbdm 数据库。

也可以看看

模块 anydbm
dbm 样式数据库的通用接口。
模块 dbm
与 DBM/NDBM 库类似的接口。
模块 gdbm
与 GNU GDBM 库类似的接口。
模块 搁架
存储非字符串数据的持久性模块。
模块 whichdb
用于确定现有数据库类型的实用程序模块。


11.12.1. 哑巴对象

除了 UserDict.DictMixin 类提供的方法之外,dumbdbm 对象还提供以下方法。

dumbdbm.sync()
同步磁盘目录和数据文件。 该方法由 Shelve 对象的 sync() 方法调用。