Um persistente Objekte in Python zu implementieren, verwenden Sie die folgenden Bibliotheken.
Ein „Regal“ ist ein persistentes, wörterbuchähnliches Objekt. Der Unterschied zu einer „dbm“-Datenbank besteht darin, dass die Werte (keine Schlüssel!) in einem Regal im Wesentlichen jedes Python-Objekt sein können – alles, was das Pickle-Modul verarbeiten kann. Dazu gehören die meisten Klasseninstanzen, rekursive Datentypen und Objekte, die eine große Anzahl gemeinsam genutzter Unterobjekte enthalten.
Es gibt einige Schlüsselmethoden -
shelve.open() – Öffnet ein persistentes Wörterbuch. Der angegebene Dateiname ist der Basisdateiname der zugrunde liegenden Datenbank. Als Nebeneffekt kann es sein, dass dem Dateinamen eine Erweiterung hinzugefügt wird und mehrere Dateien erstellt werden. Standardmäßig ist die zugrunde liegende Datenbankdatei zum Lesen und Schreiben geöffnet.
shelve.sync() − Wenn Shelf aktiviert ist und Writeback auf „True“ gesetzt ist, werden alle Einträge im Cache zurückgeschrieben. Wenn möglich, wird auch der Cache geleert und das persistente Wörterbuch mit den Daten auf der Festplatte synchronisiert. Diese Methode wird automatisch aufgerufen, wenn das Regal mit close() geschlossen wird.
shelve.close() − Synchronisieren und schließen Sie das persistente Wörterbuchobjekt.
pickle-Modul implementiert ein Binärprotokoll zum Serialisieren und Deserialisieren von Python-Objekten Struktur.
Pickling ist der Prozess der Konvertierung von Python-Objekthierarchien in Bytes fließen. Um eine Objekthierarchie zu serialisieren, rufen Sie einfach die Funktion dumps() auf.
Entbeizen ist der umgekehrte Vorgang. Wird aus einer Binärdatei oder einem Byte-Stream wie einem Byte-Objekt analysiert Konvertieren Sie es zurück in die Objekthierarchie. Um den Datenstrom zu deserialisieren, rufen Sie die Funktion „loads()“ auf Funktion.
Die folgenden Funktionen werden vom Pickle-Modul bereitgestellt.
pickle.dump() – Schreibt die Pickle-Darstellung eines Objekts in eine geöffnete Dateiobjektdatei.
pickle.dumps() – gibt die Pickle-Darstellung des Objekts statt als Byte-Objekt zurück Schreiben Sie es in eine Datei.
pickle.load() – Liest die eingelegte Darstellung eines Objekts aus einer geöffneten Dateiobjektdatei.
pickle.loads() – Gibt eine rekonstruierte Objekthierarchie ausgewählter Datendarstellungen zurück Objekt
Importieren Sie zunächst das Pickle-Modul -
import pickle
Wir haben folgende Eingaben zum Beizen erstellt.
my_data = { 'BMW', 'Audi', 'Toyota', 'Benz'}
demo.pickle-Datei wurde erstellt. Dieselbe .pickle-Datei wird mit der obigen Liste gepickelt.
with open("demo.pickle","wb") as file_handle: pickle.dump(my_data, file_handle, pickle.HIGHEST_PROTOCOL)
Entfernen Sie nun die oben aufgeführte Datei und rufen Sie die Eingabewerte ab.
with open("demo.pickle","rb") as file_handle: res = pickle.load(file_handle) print(res_data)
Sehen wir uns nun das vollständige Beispiel an.
import pickle # Input Data my_data = { 'BMW', 'Audi', 'Toyota', 'Benz'} # Pickle the input with open("demo.pickle","wb") as file_handle: pickle.dump(my_data, file_handle, pickle.HIGHEST_PROTOCOL) # Unpickle the above pickled file with open("demo.pickle","rb") as file_handle: res = pickle.load(file_handle) print(my_data) # display the output
set(['Benz', 'Toyota', 'BMW', 'Audi'])
Das obige ist der detaillierte Inhalt vonWie implementiert man persistente Objekte in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!