Python Pickle Dump

Python Pickle Dump
Python Gurke ist ein Werkzeug, das die Struktur eines Python -Objekts serialisieren und deserialisieren kann. Durch das Einlegen ermöglicht es jedem Objekt in Python, auf einer CD zu speichern, und mit jedem Objekt kann das Wickeln durchgeführt werden. Die Daten werden zuerst von Python Pickle verarbeitet und dann in einen Zeichenfluss umgewandelt. Das Objekt wird so konvertiert, dass der Zeichenstrom die Informationen enthält. Nach der Dokumentation ist zu beachten, dass das Gurkenmodul keine Sicherheit gegen Daten bietet, die absichtlich oder versehentlich erstellt wurden. Daher sollten Sie niemals Daten entfalten, die von einer Quelle erhalten wurden, der nicht vertrauenswürdig oder nicht validiert wurde.

Im nächsten Abschnitt werden wir beigebracht. Wir müssen zuerst das Gurkenmodul importieren, um diese Aufgabe zu erledigen. Die Daten des Objekts können dann durch die Implementierung der Gurke in der Datei gespeichert werden.Dump () Methode.

Syntax

Die Gurke.DUPP () Methode akzeptiert zwei Parameter. Das Ziel, das Sie speichern möchten, wird als erster Parameter gesendet. Die zweite Anweisung ist die Verzeichniseinheit, die Sie erhalten, nachdem Sie auf die angegebene Datei im WBICY (WRECT) -Modus zugegriffen haben.

Beispiel 01: Einfügen mehrerer Datenzeilen in eine Gurkedatei mit der Gurke -Dump -Funktion

In diesem Beispiel werden wir uns ein einfaches Beispiel ansehen, in dem wir eine Gurke verwenden werden.DUPP () -Methode zu einer Datei. Der erste Schritt besteht darin, das Gurkenmodul in Python zu importieren, um seine Methoden zu verwenden. In der nächsten Zeile wird eine Eingabeaufforderung verwendet, um den Benutzer aufzufordern, die Anzahl der Ziffern einzugeben, die der Benutzer eingeben möchte. Es ist in der Variablen "Num" gespeichert. Eine leere Liste wird auch als "Daten" initialisiert. Dann wird A für die Schleife für die Anzahl der Zeitzeiten ausgeführt. In jeder Schleife fordert das Programm den Benutzer auf, die Daten einzugeben. Diese Daten werden in die Liste "Daten" beigefügt.

Wenn alle Daten angehängt sind und die Schleife endet, wird eine Datei im WBICY-Modus (Write-Binary) geöffnet und in der Variablen „Datei“ gespeichert, die gespeichert ist. In der nächsten Zeile Gurke.DUPP () -Methode wird in der angegebenen Datei mit den "Daten" implementiert. Schließlich ist die Datei geschlossen.

An der Ausgabemittel können wir die Eingabeaufforderungen sehen, die das Programm zum Eingang aufforderte. In diesem Beispiel betrug die Datenmenge 2. Einer war Nummer 12 und der andere war Nummer 15. Wenn wir die Datei öffnen, könnten wir sehen, dass die Daten in dieser Datei geschrieben sind.

Wir können drei Dateien für das folgende Programm sehen. Eine ist die Datei, in der der Code geschrieben wird. In der Hauptdatei wird der Code ausgeführt. Die Datei „Info“ ist die von Pickle erstellte Binärdatei.Dump (), in dem wir die Daten abgeladen haben.

Jetzt werden wir sehen, wie wir die Gurkendaten abrufen können. Um die Gurkendaten zurück zu abrufen, müssen Sie die Gurke verwenden.load () Methode. Beim Anzeigen einer Datei im RB-Modus (Read-Binary) kann auf den Verzeichnisgehalt zugegriffen werden.

Wie die Gurke.Load () ist auch eine Methode des Gurkenmoduls. Wir müssen dieses Modul zuerst importieren, um es zu verwenden. In der nächsten Zeile wird die Datei "Info" im RB -Modus geöffnet. Dann die Gurke.LOAD () -Methode wird auf dem Dateiobjekt aufgerufen und Daten werden in der Variablen mit dem Namen "Daten" gespeichert, die gespeichert sind. Dann wird A für die Schleife durch die Daten durchquert, um die Daten am Ausgangsanschluss zu drucken, wie im folgenden Screenshot gezeigt:

Beispiel 02: Einfügen mehrerer Datenlisten in einer Gurkedatei mit der Gurke -Dump -Funktion

Eine weitere Stichprobe von Wickling- und Unpickling -Daten ist unten dargestellt:

Im vorherigen Kodex werden zwei Wörterbücher für zwei Personen erstellt, nämlich John und Logan, mit ihren jeweiligen Namen und Alter. Das Wörterbuch „List1“ enthält die Attribute beider Personen. Dann wird die Datei „Info“ in Append-Mode (AB) geöffnet. Essiggurke.DUPP () wird auf das Dateiobjekt angewendet, das das Wörterbuch/Daten "List1" angehängt hat. Schließlich ist die Datei geschlossen.

Im vorherigen Code werden wir die Gurke verwenden.load () Methode, um die Daten zu verteidigen, die wir gerade in die "Info" -Datei eingelegt haben. Die Datei wird im RB -Modus und im Gurke geöffnet.Load () -Methode wird auf das Dateiobjekt angewendet. Die zurückgegebenen Daten sind in der Variablen mit dem Namen "List1" gespeichert. Mit dem für Schleife wird dann verwendet, um den gesamten Inhalt von „List1“ an den sekundären Terminals anzuzeigen, wie im folgenden Bild zu sehen ist:

Beispiel 03: Einfügen mehrerer Datenlisten ohne eine Gurkedatei mit der Gurke -Dump -Funktion und dann in die Konsole laden

Schauen wir uns nun mehrere Beispiele für das Wahlens und die Lösung von Daten an, ohne eine Datei zu verwenden. Auch diesmal werden wir Gurke verwenden.Dumps () und Gurke.loads () Methoden. Der einzige Unterschied besteht darin, dass die letztere Methode die Datei mit dem Serialisierungsergebnis erstellt und liest, während die Methode der Dumps () und lade () in einer Zeichenfolge statt einer Datei arbeitet und eine Zeichenfolge zurückgibt.

Im vorherigen Code werden zwei verschiedene Wörterbücher erstellt, die jeweils Details zu John und Logan enthalten. Dann wird ein primäres Wörterbuch „List1“ erstellt und diese beiden separaten Wörterbücher werden hinzugefügt. In der nächsten Zeile die Gurke .Dumps () -Methoden wird verwendet, um die Daten als Zeichenfolge im neuen Objekt "A" abzugeben. In der nächsten Zeile werden die abgeladenen Daten mit einer Gurke nicht erreicht.methode laders () und speichert die Daten in einer neuen Variablen, „Eintrag“, und speichert die Daten, „Eintrag“. Auf der Registerkarte Ergebnis präsentiert dann die nicht durchliegenden Daten, wie im Bild darunter zu sehen.

Beispiel 04: Einfügen von Daten in eine Gurkedatei mithilfe der Klassenstruktur, um Daten in die Gurken -Dump -Funktion zu übergeben

In diesem Beispiel werden wir Klassen verwenden, um die Arbeit von Gurke- und Unpickle -Methoden zu verstehen. Im folgenden Code wird eine Klasse namens „Datalist“ mit einer Funktion load_data () erstellt. Eine Ganzzahl und eine Zeichenfolge sind in Objekten definiert, „A“ und „B“, jeweils. Dann wird außerhalb der Klasse ein Objekt von Datalist () mit dem Namen „OBJ“ ​​erstellt, der die Daten enthält. Dann wird dieses Objekt eingelegt und in einer neuen Variablen „Daten“ mit Pickle eingelegt und gespeichert.Dumps () Methode. Die Daten zu verfallen, Gurke.Die Methode für die Loads () wird auf "Daten" implementiert.

Schließlich haben die zurückgegebenen Daten von Pickle.Loads () wird am Ausgangsanschluss in Form des Wörterbuchs angezeigt, wie im folgenden Screenshot gezeigt:

Beispiel 05: Einfügen einer langen Zeichenfolge in einer Gurkedatei mit der Kompressfunktion zusammen mit der Gurken -Dump -Funktion ein

Der nächste Fall zeigt, wie eingelegte Gegenstände komprimiert werden können. Sie können das BZ2 -Modul aus der Standard -Python -Bibliothek verwenden, um eine eingelegte Zeichenfolge mit BZIP2 zu komprimieren.

In diesem Code werden die Daten für die Erststraße in einer Variablen mit dem Namen "Daten" initialisiert und gespeichert. In der nächsten Zeile werden diese Daten mit einer Gurke eingelegt. Dumps () zu dem Objekt mit dem Namen "Dump". Dann wird dieses Objekt mit dem BZ2 komprimiert.compress () Methode und in Objekt "Dump2" gespeichert. Hier enthält „Dump“ die unkomprimierten Daten der String, während das Objekt „DUPP2“ die komprimierten Daten enthält. Wir können dies beweisen, indem wir die Länge beider Objekte mit dem Befehl len () finden.

Abschluss

Ich hoffe, dass Sie durch dieses Tutorial jetzt verstehen, wie man Pythons Gurkenmodul verwendet, um eine Objekthierarchie in einen Strom von Bytes zu konvertieren, der auf Disc gespeichert oder über ein Netzwerk sowie die Deserialisierungsmethode von Python gesendet werden kann. Sie sind jetzt gut ausgestattet, um Objekte mithilfe des Python Pickle-Pakets anhaltenden Objekten zu bestehen.