📜  Python数据持久性-dbm软件包

📅  最后修改于: 2020-11-07 08:24:14             🧑  作者: Mango


dbm软件包提供了类似于接口DBM样式数据库的字典。 DBM代表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’

Open existing database for reading only (default)

2

‘w’

Open existing database for reading and writing

3

‘c’

Open database for reading and writing, creating it if it doesn’t exist

4

‘n’

Always create a new, empty database, open for reading and writing

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'