Persistance des données Python - paquet dbm

Le package dbm présente un dictionnaire comme les bases de données de style DBM d'interface. DBM stands for DataBase Manager. Ceci est utilisé par le système d'exploitation UNIX (et similaire à UNIX). La bibliothèque dbbm est un moteur de base de données simple écrit par Ken Thompson. Ces bases de données utilisent des objets chaîne codés en binaire comme clé, ainsi que comme valeur.

La base de données stocke les données à l'aide d'une seule clé (une clé primaire) dans des compartiments de taille fixe et utilise des techniques de hachage pour permettre une récupération rapide des données par clé.

Le paquet dbm contient les modules suivants -

  • dbm.gnu module est une interface vers la version de la bibliothèque DBM implémentée par le projet GNU.

  • dbm.ndbm module fournit une interface à l'implémentation UNIX nbdm.

  • dbm.dumbest utilisé comme option de secours dans le cas où d'autres implémentations de dbm ne sont pas trouvées. Cela ne nécessite aucune dépendance externe mais est plus lent que d'autres.

>>> 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()

La fonction open () permet le mode ces drapeaux -

N ° Sr. Valeur et signification
1

'r'

Ouvrir la base de données existante pour lecture uniquement (par défaut)

2

'w'

Ouvrez la base de données existante pour la lecture et l'écriture

3

'c'

Ouvrez la base de données pour la lecture et l'écriture, en la créant si elle n'existe pas

4

'n'

Créez toujours une nouvelle base de données vide, ouverte à la lecture et à l'écriture

L'objet dbm est un objet de type dictionnaire, tout comme un objet d'étagère. Par conséquent, toutes les opérations de dictionnaire peuvent être effectuées. L'objet dbm peut invoquer les méthodes get (), pop (), append () et update (). Le code suivant ouvre «mydbm.db» avec l'indicateur «r» et itère sur la collection de paires clé-valeur.

>>> 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'