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'