Computerwissenschaften

Verwenden von Shelve zum Speichern von Objekten in Python

Shelve ist ein leistungsstarkes Python-Modul für die Objektpersistenz. Wenn Sie ein Objekt zurückstellen, müssen Sie einen Schlüssel zuweisen, unter dem der Objektwert bekannt ist. Auf diese Weise wird die Regaldatei zu einer Datenbank gespeicherter Werte, auf die jederzeit zugegriffen werden kann.

 

Beispielcode für Shelve in Python

Um ein Objekt zu speichern, importieren Sie zuerst das Modul und weisen Sie den Objektwert dann wie folgt zu:


Importieren Sie Shelve 
Database=Shelve.open (Dateiname.Suffix) 
Objekt=Object () 
Datenbank ['Schlüssel']=Objekt

Wenn Sie beispielsweise eine Bestandsdatenbank führen möchten, können Sie den folgenden Code anpassen:


Regal importieren stockvalues_db 
 
= shelve.open ('stockvalues.db') 
object_ibm=Values.ibm () 
stockvalues_db ['ibm']=object_ibm 
 
object_vmw=Values.vmw () 
stockvalues_db ['vmw']=object_vmw 
 
object_db=Values.db (Values.db=) 
stockvalues_db ['db']=object_db

Eine „stock values.db“ ist bereits geöffnet, Sie müssen sie nicht erneut öffnen. Stattdessen können Sie mehrere Datenbanken gleichzeitig öffnen, nach Belieben in jede Datenbank schreiben und Python verlassen , um sie zu schließen, wenn das Programm beendet wird. Sie können beispielsweise eine separate Datenbank mit Namen für jedes Symbol führen und Folgendes an den vorhergehenden Code anhängen:


## vorausgesetzt, das Regal ist bereits importiert 
 
stocknames_db=shelve.open ('stocknames.db') 
 
objectname_ibm=Names.ibm () 
stocknames_db ['ibm']=objectname_ibm 
 
objectname_vmw=Names.vmw () 
stocknames_db ['vmw']=
 
objectname_vbw=Names.db () 
stocknames_db ['db']=Objektname_db

Beachten Sie, dass jede Änderung des Namens oder des Suffix der Datenbankdatei eine andere Datei und daher eine andere Datenbank darstellt.

Das Ergebnis ist eine zweite Datenbankdatei, die die angegebenen Werte enthält. Im Gegensatz zu den meisten Dateien, die in selbst gestalteten Formaten geschrieben wurden, werden zurückgestellte Datenbanken in binärer Form gespeichert .

Nachdem die Daten in die Datei geschrieben wurden, können sie jederzeit abgerufen werden. Wenn Sie die Daten in einer späteren Sitzung wiederherstellen möchten, öffnen Sie die Datei erneut. Wenn es sich um dieselbe Sitzung handelt, rufen Sie einfach den Wert ab. Regal- Datenbankdateien werden im Lese- / Schreibmodus geöffnet. Das Folgende ist die grundlegende Syntax, um dies zu erreichen:


Importieren Sie Shelve 
Database=Shelve.open (Dateiname.Suffix) 
Objekt=Datenbank ['Schlüssel']

Ein Beispiel aus dem vorhergehenden Beispiel würde also lauten:


Regal importieren stockname_file 
= shelve.open ('stocknames.db') 
stockname_ibm=stockname_file ['ibm'] 
stockname_db=stockname_file ['db']

 

Überlegungen mit Shelve

Es ist wichtig zu beachten, dass die Datenbank geöffnet bleibt, bis Sie sie schließen (oder bis das Programm beendet wird). Wenn Sie also ein Programm beliebiger Größe schreiben, möchten Sie die Datenbank schließen, nachdem Sie damit gearbeitet haben. Andernfalls befindet sich die gesamte Datenbank (nicht nur der gewünschte Wert) im Speicher und verbraucht Rechenressourcen .

Verwenden Sie die folgende Syntax, um eine Shelve-Datei zu schließen:


 database.close ()

Wenn alle oben genannten Codebeispiele in einem Programm enthalten wären, wären zu diesem Zeitpunkt zwei Datenbankdateien geöffnet und würden Speicher verbrauchen. Nachdem Sie die Aktiennamen im vorherigen Beispiel gelesen haben, können Sie jede Datenbank nacheinander wie folgt schließen:


stockvalues_db.close () 
stocknames_db.close () 
stockname_file.close ()

Similar Posts

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.