该gdbm模块已被重命名为dbm.gnuPython 3. 当将源代码转换为Python 3时,2to3工具将自动适应导入。
这个模块与模块非常相似dbm,但是gdbm用来提供一些附加功能。请注意,由gdbm和创建的文件格式dbm不兼容。
该gdbm模块为GNU DBM库提供了一个接口。gdbm对象的行为就像映射(字典),除了键和值总是字符串。打印gdbm对象不会打印键和值,并且不支持items()和values()方法。
该模块定义了以下常量和功能:
exception gdbm.error
引发gdbm特定的错误,例如I / O错误。KeyError引发一般映射错误,如指定不正确的键。
gdbm.open(filename[, flag[, mode]])
打开一个gdbm数据库并返回一个gdbm对象。该文件名参数是数据库文件的名称。
可选的标志参数可以是:
值 | 含义 |
---|---|
'R' | 打开仅用于读取的现有数据库(默认) |
'W' | 打开现有的数据库进行读写 |
'C' | 打开数据库进行读写,如果不存在则创建它 |
'N' | 总是创建一个新的空的数据库,打开阅读和写作 |
以下附加字符可以附加到该标志以控制数据库的打开方式:
值 | 含义 |
---|---|
'F' | 以快速模式打开数据库。写入数据库将不会同步。 |
'S' | 同步模式。这将导致数据库的更改立即写入文件。 |
“在” | 不要锁定数据库。 |
并非所有标志对于所有版本都有效gdbm。模块常量open_flags是一串支持的标志字符。error如果指定了无效标志,则会引发异常。
可选模式参数是文件的Unix模式,仅在需要创建数据库时使用。它默认为八进制0666。
除了类似字典的方法外,gdbm对象还有以下方法:
gdbm.firstkey()
使用此方法和nextkey()方法可以遍历数据库中的每个键。遍历按gdbm内部散列值排序,不会按键值排序。此方法返回开始键。
gdbm.nextkey(key)
返回遍历中关键字的键。以下代码打印数据库中的每个键db,而不必在内存中创建一个包含它们的列表:
k = db.firstkey()
while k != None:
print k
k = db.nextkey(k)
复制
gdbm.reorganize()
如果您执行了大量删除操作并希望缩小gdbm文件使用的空间,则此例程将重新组织数据库。gdbm除使用此重组外,不会缩短数据库文件的长度; 否则,删除的文件空间将被保留并在新(键值)对添加时重新使用。
gdbm.sync()
当数据库以快速模式打开时,此方法强制任何未写入的数据写入磁盘。
纠错
gdbm.close()
关闭gdbm数据库。
网站建设开发|APP设计开发|小程序建设开发