Heim >Backend-Entwicklung >Python-Tutorial >Ausführliche Erklärung von Python mithilfe des dbm persistenten Wörterbuchs (Python-Mikrodatenbank)
Wenn in einigen kleinen Python-Anwendungen keine relationale Datenbank benötigt wird, kann ein persistentes Wörterbuch bequem zum Speichern von Name/Wert-Paaren verwendet werden. Der Hauptunterschied besteht darin, dass die Daten gelesen und gespeichert werden auf die Diskette geschrieben. Ein weiterer Unterschied besteht darin, dass DBM-Schlüssel und -Werte vom Typ String sein müssen.
1. DBM-Modul auswählen
Python unterstützt viele DBM-Module, leider sind die von jedem DBM-Modul erstellten Dateien nicht kompatibel.
Die folgende Tabelle listet diese Module auf:
Modulbeschreibung
dbm Wählen Sie das beste dbm-Modul
dbm.dumb Eine einfache, aber einfache Möglichkeit, das zu verwenden dbm-Bibliothek Tragbare Implementierung
dbm.gnu verwendet die GNU-dbm-Bibliothek
Im Allgemeinen verwenden Sie das dbm-Modul, es sei denn, eine dbm-Bibliothek verfügt über spezielle erweiterte Funktionen.
2. Erstellen Sie ein persistentes Wörterbuch
import dbm db = dbm.open('Bookmark', 'c') #添加选项 db['MyBlog'] = 'jonathanlife.sinaapp.com' print(db['MyBlog']) #保存,关闭 db.close()
Die Öffnungsfunktion bietet drei Möglichkeiten, dbm zu öffnen:
Flag-Verwendung
C Öffnen Sie die Datei und lesen, schreiben, ggf. Datei erstellen
W Datei zum Lesen und Schreiben öffnen, wenn die Datei nicht existiert, wird sie nicht erstellt
N Datei zum Lesen öffnen und schreiben, aber immer eine neue erstellen Die leere Datei
kann auch einen weiteren optionalen Parameter übergeben, der den Modus darstellt, wodurch eine Reihe von UNIX-Dateiberechtigungen gespeichert werden, was nicht der Fall ist ausführlich hier.
3. Greifen Sie auf das persistente Wörterbuch zu
Das von der Öffnungsfunktion zurückgegebene Objekt wird als Wörterbuchobjekt betrachtet. Die Zugriffsmethode für Werte lautet wie folgt:
db[‘key’] = ‘value’ value = db[‘key’] #删除值: del db[‘key’] #遍历所有key: for key in db.keys(): #your code here
Codebeispiel:
import dbm #open existing file db = dbm.open('websites', 'w') #add item db['first_data'] = 'Hello world' #verify the previous item remains if db['first_data'] != None: print('the data exists') else: print('Missing item') #iterate over the keys, may be slow for key in db.keys(): print("Key=",key," value=",db[key]) #delete item del db['first_data'] #close and save to disk db.close()