Python 数据持久化 - dbm 包
dbm 包提供了一个类似接口 DBM 风格数据库的字典。 DBM 代表数据库管理器。 这由 UNIX(和 UNIX 类)操作系统使用。 dbbm 库是由 Ken Thompson 编写的一个简单的数据库引擎。 这些数据库使用二进制编码的字符串对象作为键和值。
数据库使用单个键(主键)将数据存储在固定大小的桶中,并使用散列技术通过键快速检索数据。
dbm 包包含以下模块 −
dbm.gnu 模块是 DBM 库版本的接口,由 GNU 项目实现。
dbm.ndbm 模块为 UNIX nbdm 实现提供了一个接口。
dbm.dumb 用作事件中的回退选项,其他 dbm 实现未找到。 这不需要外部依赖,但比其他方法慢。
>>> dbm.whichdb('mydbm.db') 'dbm.dumb' >>> import dbm >>> db=dbm.open('mydbm.db','n') >>> db['name']=Raj Deshmane' >>> db['address']='Kirtinagar Pune' >>> db['PIN']='431101' >>> db.close()
open() 函数允许模式的标志 −
序号 | 值 & 意义 |
---|---|
1 |
'r' 以只读方式打开现有数据库(默认) |
2 | 'w' 打开现有数据库进行读写 |
3 | 'c' 打开数据库进行读写,不存在则创建 |
4 | 'n' 始终创建一个新的空数据库,以读写方式打开 |
dbm 对象是一个类似字典的对象,就像shelf 对象一样。 因此,可以执行所有字典操作。 dbm 对象可以调用 get()、pop()、append() 和 update() 方法。 以下代码打开带有"r"标志的"mydbm.db"并迭代键值对集合。
>>> db=dbm.open('mydbm.db','r') >>> for k,v in db.items(): print (k,v) b'name' : b'Raj Deshmane' b'address' : b'Kirtinagar Pune' b'PIN' : b'431101'