Python参考手册
数据持久性 | Data Persistence
anydbm
注释
该anydbm
模块已被重命名为dbm
Python 3. 当将源代码转换为Python 3时,2to3工具将自动适应导入。
anydbm
是DBM数据库变体的通用接口 - dbhash
(需要bsddb
)gdbm
,或dbm
。如果没有安装这些模块,dumbdbm
则将使用模块中缓慢而简单的实现。
anydbm.open(filename[, flag[, mode]])
打开数据库文件的文件名并返回相应的对象。
如果数据库文件已存在,whichdb
则使用该模块确定其类型并使用适当的模块; 如果它不存在,则使用上面列出的可导入的第一个模块。
可选的标志参数必须是以下值之一:
值 |
含义 |
---|---|
'R' |
打开仅用于读取的现有数据库(默认) |
'W' |
打开现有的数据库进行读写 |
'C' |
打开数据库进行读写,如果不存在则创建它 |
'N' |
总是创建一个新的空的数据库,打开阅读和写作 |
如果未指定,则默认值为'r'
。
可选模式参数是文件的Unix模式,仅在需要创建数据库时使用。它默认为八进制0666
(并且会被主要的umask修改)。
exception anydbm.error
包含可由每个受支持模块引发的异常的元组,其中包含也anydbm.error
称为第一项的唯一异常- 后者在anydbm.error
引发时使用。
返回的对象open()
支持与字典大部分相同的功能; 可以存储,检索和删除键和它们的对应值,并且可以使用has_key()
和keys()
方法。键和值必须始终是字符串。
以下示例记录了一些主机名和相应的标题,然后打印出数据库的内容:
import anydbm
# Open database, creating it if necessary.
db = anydbm.open('cache', 'c')
# Record some values
db['www.python.org'] = 'Python Website'
db['www.cnn.com'] = 'Cable News Network'
# Loop through contents. Other dictionary methods
# such as .keys(), .values() also work.
for k, v in db.iteritems():
print k, '\t', v
# Storing a non-string key or value will raise an exception (most
# likely a TypeError).
db['www.yahoo.com'] = 4
# Close when done.
db.close()
除了类似字典的方法之外,anydbm
对象还提供以下方法:
anydbm.close()
关闭anydbm
数据库。
数据持久性 | Data Persistence相关
Python 是一种面向对象的解释型计算机程序设计语言,由荷兰人 Guido van Rossum 于1989年发明,第一个公开发行版发行于1991年。 Python 是纯粹的自由软件, 源代码和解释器 CPython 遵循 GPL 协议。Python 语法简洁清晰,特色之一是强制用空白符( white space )作为语句缩进。
主页 | https://www.python.org/ |
源码 | https://github.com/python/cpython |
版本 | 2.7 |
发布版本 | 2.7.13 |