Python

Wie man Objekte in Python einlegt

Wie man Objekte in Python einlegt
Alle Daten können in Python mithilfe von JSON und dem Pickle-Modul serialisiert und deserialisiert werden. Bevor Daten in einer Datei gespeichert werden, werden Python-Objekte mit dem Pickle-Modul serialisiert. Python-Objekte werden mit diesem Modul in Zeichenströme umgewandelt. Wenn der Benutzer die Daten der Datei für die Verwendung eines anderen Python-Skripts abrufen möchte, werden die Daten der Datei vom Pickle-Modul deserialisiert. Die Funktionen des Pickle-Moduls und wie dieses Modul in Python-Skripten zur Serialisierung und Deserialisierung verwendet werden kann, werden in diesem Tutorial beschrieben.

Gurken-Eigenschaften:

dump() für die Serialisierung:

Die Funktion dump() wird verwendet, um die Objektdaten vor dem Speichern in einer Datei in einen Zeichenstrom zu konvertieren. Diese Funktion kann drei Argumente annehmen. Die ersten beiden Argumente sind obligatorisch und das letzte Argument ist optional. Das erste Argument nimmt ein Datenobjekt an, das serialisiert werden muss. Das zweite Argument nimmt das Dateibehandlungsobjekt der Datei, in der die eingelesenen Daten gespeichert werden. Das letzte Argument übernimmt den Protokollnamen.

Syntax:

dump(data_object, file_object, [Protokoll])

load() zur Deserialisierung:

Die Funktion load() wird verwendet, um Zeichenstromdaten aus der Datei in ein Python-Objekt zu konvertieren. Diese Funktion enthält nur ein Argument und das Dateihandlerobjekt von Dateiübergängen als Argumentwert, von dem die Daten abgerufen werden.

Syntax:

laden (Datei_Objekt)

Pickle ein einfaches Objekt zum Speichern in einer Datei

Erstellen Sie eine Datei mit dem Namen Gurke1.py mit dem folgenden Python-Skript.  Im folgenden Skript wird ein Datenobjekt namens dataObject wird deklariert, um fünf Sprachnamen zu speichern, indem die for-Schleife iteriert wird. Als nächstes wird die Methode open() verwendet, um einen Dateihandler zum Erstellen einer Binärdatei mit dem Namen zuzuweisen Sprachen. dump() Funktion wird hier verwendet, um die Daten von . zu serialisieren dataObject und speichern Sie es in der Sprachen Datei.  Wenn die Serialisierung ordnungsgemäß durchgeführt wird, wird die Meldung „Daten werden serialisiert“ gedruckt.

# Importieren Sie das Gurkenmodul
Essiggurke importieren
# Deklarieren Sie das Objekt zum Speichern von Daten
Datenobjekt = []
# Wiederhole die for-Schleife 5 Mal und nimm Sprachnamen
für n im Bereich(5):
raw = input('Geben Sie einen Sprachnamen ein :')
dataObject.anhängen (roh)
# Öffnen Sie eine Datei zum Schreiben von Daten
file_handler = open('sprachen', 'wb')
# Dump die Daten des Objekts in die Datei
Essiggurke.dump(dataObject, file_handler)
# den Dateihandler schließen, um die Ressourcen freizugeben
file_handler.schließen()
# Nachricht drucken
print('Daten werden serialisiert')

Ausgabe:

Nach dem Ausführen des Skripts werden fünf Sprachnamen als Eingabe benötigt.

Daten aus einer Datei aufheben

Das Entbeizen der Daten ist das Gegenteil des Beizens von Daten. Erstellen Sie eine Datei mit dem Namen Gurke2.py mit dem folgenden Python-Skript. Hier, öffnen() -Methode wird verwendet, um die Binärdatei namens . zu öffnen Sprachen, im vorherigen Beispiel erstellt. Belastung() Funktion wird verwendet, um die Daten aus der Datei zu entpicken und in der Variablen zu speichern dataObject. Nächster, zum Schleife wird verwendet, iteriert die Daten aus dem dataObject und im Terminal ausdrucken.

# Importieren Sie das Gurkenmodul
Essiggurke importieren
# Öffnen Sie einen Dateihandler zum Lesen einer Datei, aus der die Daten geladen werden
file_handler = open('Sprachen', 'rb')
# Laden Sie die Daten aus der Datei nach der Deserialisierung
dataObject = Gurke.load(file_handler)
# Schließen Sie den Dateihandler
file_handler.schließen()
# Nachricht drucken
print('Daten nach Deserialisierung')
# Iterieren Sie die Schleife, um die Daten nach der Deserialisierung zu drucken
für val in dataObject:
print('Der Datenwert: ', val)

Ausgabe:

Die folgende Ausgabe erscheint nach dem Ausführen des Skripts.

Pickle ein Klassenobjekt in eine Datei

Wie ein Klassenobjekt gebeizt werden kann, zeigt das folgende Beispiel. Erstellen Sie eine Datei mit dem Namen Gurke3.py mit folgendem Skript. Hier, Mitarbeiter Klasse wird deklariert, um drei Datenwerte eines Mitarbeiters zuzuweisen. Als nächstes wird ein Dateihandlerobjekt namens fileHandler wird erstellt, um eine Datei zum Schreiben zu öffnen. Nach der Initialisierung des Klassenobjekts werden die Daten mit serialisiert dump() Funktion und in der Datei namens . gespeichert Mitarbeiterdaten. Wenn die Datei richtig erstellt wird, wird die Meldung, „Daten werden serialisiert“ werde drucken.

# Pickle-Modul importieren
Essiggurke importieren
# Deklarieren Sie die Mitarbeiterklasse, um den Wert zu speichern
Klasse Mitarbeiter:
def __init__(self, name, email, post):
selbst.Name = Name
selbst.E-Mail = E-Mail
selbst.post = post
 
#Mitarbeiterobjekt erstellen
empObject = Employee('Farheen', '[email protected]', 'Manager')
# Datei für Geschäftsdaten öffnen
fileHandler = open('employeeData', 'wb')
# Speichern Sie die Daten in die Datei
Essiggurke.dump(empObject, fileHandler)
# Datei schließen
fileHandler.schließen()
# Nachricht drucken
print('Daten werden serialisiert')

Ausgabe:

Die folgende Ausgabe erscheint nach dem Ausführen des Skripts.

Daten zu einem Klassenobjekt aufheben

Eine Klasse mit den erforderlichen Eigenschaften und Methoden muss zum Abrufen der Daten aus einer Datei zu einem Klassenobjekt deklariert werden. Erstellen Sie eine Datei mit dem Namen Gurke4.py mit folgendem Code. Mitarbeiter Klasse wird hier definiert, um die Daten abzurufen. fileObject Variable wird verwendet, um die Datei zu öffnen, Mitarbeiterdaten zum Lesen. Nächster, Belastung() Funktion wird verwendet, um die Daten nach der Deserialisierung im Klassenobjekt zu speichern. Anzeige() Funktion der Mitarbeiter class wird aufgerufen, um die Datenwerte des Klassenobjekts zu drucken.

# Pickle-Modul importieren
Essiggurke importieren
# Mitarbeiterklasse zum Lesen und Drucken von Daten aus einer Datei deklarieren
Klasse Mitarbeiter:
def __init__(self, name, email, post):
selbst.Name = Name
selbst.E-Mail = E-Mail
selbst.post = post
def Anzeige (selbst):
print('Mitarbeiterinformationen:')
print('Name :', selbst.Name)
print('E-Mail :', selbst.Email)
print('Beitrag :', selbst.Post)
 
# Datei zum Lesen öffnen
fileObject = open('employeeData', 'rb')
# Entpicken Sie die Daten
Angestellter = Gurke.load(fileObject)
# Datei schließen
fileObject.schließen()
#Datenrahmen drucken
Mitarbeiter.Anzeige()

Ausgabe:

Die folgende Ausgabe erscheint nach dem Ausführen des Skripts.

Fazit

Das Pickle-Modul ist eine nützliche Funktion von Python für die Datenserialisierung und -deserialisierung. Nachdem Sie die in diesem Tutorial gezeigten Beispiele abgeschlossen haben, wird die Datenübertragung von einem Python-Skript zu einem anderen Python-Skript für jeden einfacher.

So erfassen und streamen Sie Ihre Gaming-Sitzung unter Linux
In der Vergangenheit galt das Spielen von Spielen nur als Hobby, aber mit der Zeit verzeichnete die Spieleindustrie ein enormes Wachstum in Bezug auf ...
Beste Spiele zum Spielen mit Handtracking
Oculus Quest hat kürzlich die großartige Idee des Hand-Trackings ohne Controller vorgestellt. Mit einer ständig steigenden Anzahl von Spielen und Akti...
So zeigen Sie OSD-Overlay in Vollbild-Linux-Apps und -Spielen an
Das Spielen von Spielen im Vollbildmodus oder die Verwendung von Apps im ablenkungsfreien Vollbildmodus kann Sie von relevanten Systeminformationen ab...