Python Data Persistence - Pacchetto dbm

Il pacchetto dbm presenta un dizionario come i database in stile DBM di interfaccia. DBM stands for DataBase Manager. Viene utilizzato dal sistema operativo UNIX (e simile a UNIX). La libreria dbbm è un semplice motore di database scritto da Ken Thompson. Questi database utilizzano oggetti stringa con codifica binaria come chiave e valore.

Il database archivia i dati utilizzando una singola chiave (una chiave primaria) in bucket di dimensioni fisse e utilizza tecniche di hashing per consentire il recupero rapido dei dati tramite chiave.

Il pacchetto dbm contiene i seguenti moduli:

  • dbm.gnu module è un'interfaccia per la versione della libreria DBM implementata dal progetto GNU.

  • dbm.ndbm Il modulo fornisce un'interfaccia all'implementazione di UNIX nbdm.

  • dbm.dumbviene utilizzato come opzione di fallback nel caso in cui non vengano trovate altre implementazioni dbm. Ciò non richiede dipendenze esterne ma è più lento di altri.

>>> 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 funzione open () consente la modalità di questi flag:

Sr.No. Valore e significato
1

'r'

Apri database esistente in sola lettura (impostazione predefinita)

2

'w'

Apri il database esistente per la lettura e la scrittura

3

'c'

Apri database per la lettura e la scrittura, creandolo se non esiste

4

'n'

Crea sempre un nuovo database vuoto, aperto per la lettura e la scrittura

L'oggetto dbm è un oggetto simile a un dizionario, proprio come un oggetto shelf. Quindi, tutte le operazioni del dizionario possono essere eseguite. L'oggetto dbm può invocare i metodi get (), pop (), append () e update (). Il codice seguente apre "mydbm.db" con il flag "r" e ripete la raccolta di coppie chiave-valore.

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