Python Data Persistence 简明教程
Python Data Persistence - dbm Package
dbm 包提供类似词典的界面,即 DBM 样式数据库。 DBM stands for DataBase Manager 。UNIX(以及类似 UNIX 的)操作系统使用这种形式。dbbm 库是由 Ken Thompson 编写的一个简单的数据库引擎。这些数据库使用二进制编码的字符串对象作为键和值。
数据库通过在一个固定大小的存储区中使用一个键(一个主键)储存数据,并使用哈希技术让用户能够使用键快速检索数据。
dbm 包包含以下模块 −
-
dbm.gnu 模块是面向 GNU 项目实现的 DBM 库版本的接口。
-
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() 函数允许使用这些标志进行模式化 −
Sr.No. |
Value & Meaning |
1 |
'r' 以只读方式打开现有数据库(默认) |
2 |
'w' 以读写方式打开现有数据库 |
3 |
'c' 以读写方式打开数据库,如果数据库不存在,则进行创建 |
4 |
'n' 始终创建一个新的空数据库,并以读写方式打开 |
dbm 对象是类似词典的对象,就像内容对象。因此,所有词典操作均可执行。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'