Wie man Objekte in Python eingreift

Wie man Objekte in Python eingreift
Alle Daten können in Python mithilfe von JSON- und Gurkenmodul in Python serialisiert und deserialisiert werden. Vor dem Speichern von Daten in einer Datei werden Python -Objekte mithilfe von Gurkenmodul serialisiert. Python -Objekte werden unter Verwendung dieses Moduls 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 durch das Gurkenmodul deserialisiert. Die Merkmale des Gurkenmoduls und die Art und Weise, wie dieses Modul im Python -Skript zur Serialisierung und Deserialisierung verwendet werden kann, werden in diesem Tutorial beschrieben.

Gurkenmerkmale:

  • Es wurde hauptsächlich für das Python -Skript entwickelt.
  • Es wird verwendet, um die Python -Objekte zwischen den Prozessen zu speichern.
  • Es verfolgt alle serialisierten Objekte und das zuvor serialisierte Objekt wird nicht wieder serialisieren.
  • Es kann die Klasseninstanz transparent speichern und wiederherstellen.
  • Es ist nicht sicher zu verwenden. Daher ist es nicht besser, Daten aus einer unbekannten Quelle zu lösen.

Dump () zur Serialisierung:

DUPP () -Funktion wird verwendet, um die Objektdaten in einen Zeichenstrom umzuwandeln, bevor in einer Datei gespeichert wird. Diese Funktion kann drei Argumente erfolgen. Die ersten beiden Argumente sind obligatorisch und das letzte Argument ist optional. Das erste Argument nimmt ein Datenobjekt an, das serialisieren muss. Das zweite Argument nimmt das Dateihandlerobjekt dieser Datei an. Das letzte Argument nimmt den Protokollnamen an.

Syntax:

DUPP (Data_Object, File_Object, [Protocol])

Load () zur Deserialisierung:

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

Syntax:

Load (Datei_Object)

Pickle ein einfaches Objekt zum Speichern in einer Datei

Erstellen Sie eine Datei mit dem Namen Pickle1.py mit dem folgenden Python -Skript. Im folgenden Skript ein Datenobjekt benannt DataObject wird erklärt, fünf Sprachnamen zu speichern, indem die for -Schleife iteriert wird. Als nächstes wird die Open () -Methode verwendet, um einen Dateihandler zum Erstellen einer binären Datei mit dem Namen zuzuweisen Sprachen. entsorgen() Die Funktion wird hier verwendet, um die Daten von zu serialisieren DataObject und lagern Sie es in der Sprachen Datei. Wenn die Serialisierung ordnungsgemäß durchgeführt wird, druckt eine Nachricht "Daten serialisiert".

# Importieren Sie das Gurkenmodul
Gurke importieren
# Deklarieren Sie das Objekt, um Daten zu speichern
DataObject = []
# Iterieren Sie die für die für die Schleife für 5 Mal und nehmen Sie Sprachnamen
für n in Reichweite (5):
RAW = Eingabe ('Einen Sprachname eingeben:')
DataObject.anhängen (roh)
# Öffnen Sie eine Datei zum Schreiben von Daten
Datei_handler = Open ('Sprachen', 'WB')
# Die Daten des Objekts in die Datei abgeben
Essiggurke.Dump (DataObject, Datei_handler)
# Schließen Sie den Dateihandler, um die Ressourcen zu veröffentlichen
Datei_handler.schließen()
# Drucknachricht
drucken ('Daten sind serialisiert')

Ausgang:

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

Unpickle Daten aus einer Datei

Die Daten zu verticken, ist das Gegenteil von Wickling -Daten. Erstellen Sie eine Datei mit dem Namen Pickle2.py mit dem folgenden Python -Skript. Hier, offen() Die Methode wird verwendet, um die mit dem Namen Binärdatei benannte Datei zu öffnen Sprachen, im vorherigen Beispiel erstellt. Belastung() Die Funktion wird verwendet, um die Daten aus der Datei zu entfernen und in der Variablen zu speichern DataObject. Nächste, für Die Schleife wird verwendet, um die Daten aus dem zu iterieren DataObject und im Terminal drucken.

# Importieren Sie das Gurkenmodul
Gurke importieren
# Öffnen Sie einen Dateihandler, um eine Datei zu lesen, aus der die Daten geladen werden
Datei_handler = Open ('Sprachen', 'RB')
# Laden Sie die Daten nach der Deserialisierung aus der Datei
DataObject = Pickle.Load (Datei_handler)
# Schließen Sie den Dateihandler
Datei_handler.schließen()
# Drucknachricht
print ('Daten nach der Deserialisierung')
# Iterieren Sie die Schleife, um die Daten nach der Deserialisierung zu drucken
Für VAL in DataObject:
print ('der Datenwert:', Val)

Ausgang:

Die folgende Ausgabe wird nach dem Ausführen des Skripts angezeigt.

Ein Klassenobjekt zu einer Datei einweichen

Wie ein Klassenobjekt eingelegt werden kann, wird im folgenden Beispiel angezeigt. Erstellen Sie eine Datei mit dem Namen pickle3.py mit dem folgenden Skript. Hier, Mitarbeiter Die Klasse wird deklariert, um drei Datenwerte eines Mitarbeiters zuzuweisen. Als nächstes ein Datei -Handler -Objekt benannt FileHandler wird erstellt, um eine Datei zum Schreiben zu öffnen. Nach der Initialisierung des Klassenobjekts werden Daten mithilfe serialisiert entsorgen() Funktion und in der benannten Datei gespeichert posteedata. Wenn die Datei ordnungsgemäß erstellt wird, dann die Nachricht, "Daten sind serialisiert" wird drucken.

# Gurkenmodul importieren
Gurke importieren
# Deklarieren Sie die Mitarbeiterklasse, um den Wert zu speichern
Klassenangestellter:
Def __init __ (Selbst, Name, E -Mail, Post):
selbst.Name = Name
selbst.E -Mail = E -Mail
selbst.Post = Post
#Create Employee Object
EmpObject = Mitarbeiter ('Farheen', '[email protected] ',' Manager ')
# Datei für Speichern von Daten öffnen
FileHandler = open ('pectiveEedata', 'wb')
# Speichern Sie die Daten in der Datei
Essiggurke.Dump (EmpObject, FileHandler)
# Schließen Sie die Datei
FileHandler.schließen()
# Drucknachricht
drucken ('Daten sind serialisiert')

Ausgang:

Die folgende Ausgabe wird nach dem Ausführen des Skripts angezeigt.

Unpickle Daten an ein Klassenobjekt

Eine Klasse mit den erforderlichen Eigenschaften und Methoden muss für das Abrufen der Daten von einer Datei zu einem Klassenobjekt deklariert werden. Erstellen Sie eine Datei mit dem Namen pickle4.py mit dem folgenden Code. Mitarbeiter Die Klasse wird hier definiert, um die Daten abzurufen. FileObject Variable wird verwendet, um die Datei zu öffnen, posteedata zum Lesen. Nächste, Belastung() Funktion wird verwendet, um die Daten im Klassenobjekt nach der Deserialisierung zu speichern. Anzeige() Funktion der Mitarbeiter Die Klasse soll die Datenwerte des Klassenobjekts drucken.

# Gurkenmodul importieren
Gurke importieren
# Die Mitarbeiterklasse deklarieren, um Daten aus einer Datei zu lesen und zu drucken
Klassenangestellter:
Def __init __ (Selbst, Name, E -Mail, Post):
selbst.Name = Name
selbst.E -Mail = E -Mail
selbst.Post = Post
Def Display (Selbst):
print ('Mitarbeiterinformationen:')
print ('name:', self.Name)
print ('E -Mail:', Selbst.Email)
print ('post:', self.Post)
# Öffnen Sie die Datei zum Lesen
FileObject = open ('pectiveEedata', 'rb')
# Die Daten auspicken
Mitarbeiter = Gurke.Laden (FileObject)
# Datei schließen
FileObject.schließen()
#print des Datenrahmens
Mitarbeiter.Anzeige()

Ausgang:

Die folgende Ausgabe wird nach dem Ausführen des Skripts angezeigt.

Abschluss

Das Gurkenmodul ist ein nützliches Merkmal von Python für die Datenserialisierung und Deserialisierung. Nach Abschluss der in diesem Tutorial gezeigten Beispiele sind die Daten, die von einem Python -Skript zu einem anderen Python -Skript übertragen werden.