Python Data Persistence - pakiet dbm

Pakiet dbm zawiera słownik podobny do interfejsu baz danych w stylu DBM. DBM stands for DataBase Manager. Jest to używane przez system operacyjny UNIX (i podobny do UNIX). Biblioteka dbbm to prosty silnik bazy danych napisany przez Kena Thompsona. Te bazy danych używają zakodowanych binarnie obiektów łańcuchowych jako klucza, a także wartości.

Baza danych przechowuje dane za pomocą pojedynczego klucza (klucza podstawowego) w zasobnikach o stałym rozmiarze i wykorzystuje techniki mieszania, aby umożliwić szybkie pobieranie danych według klucza.

Pakiet dbm zawiera następujące moduły -

  • dbm.gnu module jest interfejsem do wersji biblioteki DBM zaimplementowanej w projekcie GNU.

  • dbm.ndbm Moduł zapewnia interfejs do implementacji UNIX nbdm.

  • dbm.dumbjest używana jako opcja rezerwowa w przypadku, gdy inne implementacje dbm nie zostaną znalezione. Nie wymaga to żadnych zewnętrznych zależności, ale jest wolniejsze niż inne.

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

Funkcja open () umożliwia tryb tych flag -

Sr.No. Wartość i znaczenie
1

'r'

Otwórz istniejącą bazę danych tylko do odczytu (domyślnie)

2

'w'

Otwórz istniejącą bazę danych do czytania i pisania

3

'c'

Otwarta baza danych do czytania i pisania, tworzenie jej, jeśli nie istnieje

4

'n'

Zawsze twórz nową, pustą bazę danych, otwartą do czytania i pisania

Obiekt dbm jest obiektem słownikowym, podobnie jak obiekt półki. W związku z tym można wykonywać wszystkie operacje słownikowe. Obiekt dbm może wywoływać metody get (), pop (), append () i update (). Poniższy kod otwiera „mydbm.db” z flagą „r” i wykonuje iterację nad kolekcją par klucz-wartość.

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