Pickle-Wörterbuch in Python

Pickle Worterbuch In Python



Pickle kann verwendet werden, um die Python-Entity-Frameworks vorzuverarbeiten, bei denen ein Objekt aus dem Speicher in einen Byte-Stream konvertiert wird, der als Binärformat auf der Disc gespeichert werden kann. Dieses Verfahren wird als Serialisierung bezeichnet. Verwenden Sie dazu die Methode pickle dump(). Wenn dieser Binärdatensatz erneut in ein Python-Programm geladen wird, kann er deserialisiert und mithilfe der Methode pickle load() wieder in ein Python-Objekt konvertiert werden.

In diesem Artikel erfahren Sie, wie Sie die Daten, genauer gesagt ein Wörterbuch, mit dem Pickle-Modul von Python speichern. Zu Beginn müssen wir das Gurkenmodul beschaffen. Pickle dump() akzeptiert drei Parameter. Die erste Eingabe gibt die zu speichernden Daten an. Der zweite Parameter ist das Dateiobjekt, das zurückgegeben wird, wenn eine Datei im Write-Binary-Modus (wb) geöffnet wird. Das Schlüsselwertargument ist der dritte Parameter. Das Protokoll wird durch diesen Parameter definiert. Ein Pickle wird in zwei Typen eingeteilt: HIGHEST PROTOCOL sowie ein Pickle DEFAULT PROTOCOL. Um die Daten abzurufen oder zu deserialisieren, wird die Methode pickle load() verwendet, mit der ein Dateiobjekt abgerufen wird, indem eine Datei im Read-Binary-Modus (rb) geöffnet wird.







Beispiel 1: Serialisierung und Deserialisierung von Daten in einer Pickle-Datei mit der Pickle Dump and Load-Funktion

In diesem Beispiel lernen wir, wie die Daten als Wörterbuch mit einem sehr einfachen Code serialisiert und deserialisiert werden.




In dem in der vorherigen Abbildung dargestellten Code wird das erste Pickle-Modul aus der Python-Bibliothek importiert, damit seine Methoden verwendet werden können. Dann wird ein Datenwörterbuch mit 2 Schlüsseln und Werten initialisiert und in der Variablen mit dem Namen „Form“ gespeichert. In der nächsten Zeile wird mit der Methode pickle dump() eine neue Datei mit dem Namen „info.p“ im Write-Binary (wb)-Modus geöffnet und die „shape“-Daten in dieser Datei gespeichert. In der nächsten Zeile wird die Methode pickle load() für dieselbe Datei verwendet, in der wir die Daten im rb-Modus abgelegt haben. Dies gibt unsere Wörterbuchdaten zurück und wird in der Variablen namens „a“ gespeichert. Schließlich wird dieses zurückgegebene Objekt mit dem Druckbefehl am Ausgabeterminal angezeigt, wie im folgenden Screenshot gezeigt.



Wir können sehen, dass die Daten zuerst mit der Dump-Methode in der Datei „info.p“ gespeichert wurden. Als wir dann die Methode load() auf dieselbe Datei angewendet haben, haben wir unsere Daten zurückerhalten.





Beispiel 2: Verwenden der Pickle-Dump-Funktion mit einem zusätzlichen Protokoll zum Serialisieren der Daten in Python

Dies ist ein ähnliches Beispiel, in dem wir ein zusätzliches Protokoll, das „HIGHEST_PROTOCOL“, von pickle verwenden, das das neueste Protokoll ist. Dieses Protokoll ermöglicht neue Sprachfunktionen, die wir verwenden und Optimierungen einbeziehen können.




In dem in der vorherigen Abbildung bereitgestellten Code wird das erste pickle-Modul importiert. Dann wird ein Wörterbuch eines Elements mit einem Schlüssel und einem Wert initialisiert und in der Variablen „a“ gespeichert. In der nächsten Zeile wird eine neue Datei namens „info.p“ im wb-Modus als Handle geöffnet. Jetzt befindet sich die Datei in dem Objekt namens „Handle“. Dann wird die Funktion dump() verwendet, um mit dem Wörterbuch „a“ unter Verwendung des „HIGHEST_PROTOCOL“ zu „handhaben“. Dadurch kann das Wörterbuch in „a“ in der Datei „info.p“ auf der Festplatte des Computers gespeichert werden. Um die Informationen aus der Datei zu extrahieren, wird die Datei zuerst im 'rb'-Modus geöffnet. Dann wird die Methode pickle load() für diese Datei verwendet. Die zurückgegebenen Daten werden im Attribut „b“ gespeichert. Schließlich werden diese Informationen mit dem Druckbefehl am Ausgabeknoten angezeigt, wie in der folgenden Bildschirmaufnahme zu sehen ist:

Beispiel 3: Serialisierung und Deserialisierung einer Liste von Daten in einer Pickle-Datei unter Verwendung der Pickle-Dump- und Ladefunktion

In diesem Beispiel wird zuerst das pickle-Modul importiert. Dann werden einige Daten in einem Listenformat in ein Wörterbuch eingefügt und in der Variablen „shape_colors“ gespeichert. In der nächsten Zeile wird die Methode pickle dump() direkt mit diesen Daten verwendet. Anstelle der Datei in ihrem Parameter wird die Datei „info.p“ im wb-Modus geöffnet. Als Ergebnis werden die Wörterbuchdaten nun in diese Datei abgelegt, die auf der Festplatte des Computers gespeichert ist. Um dann die Daten aus der Datei zu lesen, wird die Methode pickle load() auf dieselbe Datei angewendet. Die zurückgegebenen Daten werden in der Variablen „a“ gespeichert. Schließlich werden diese Informationen mit dem Druckbefehl an den sekundären Terminals angezeigt, wie im folgenden Schnappschuss dargestellt:



Beispiel 4: Speichern von Informationen in einer Pickle-Datei unter Verwendung der Funktionen Pickle Dump und Load mit unterschiedlichen Parametern

Im bereitgestellten Code wird das erste pickle-Modul importiert. Dann wird ein Gehaltswörterbuch initialisiert und in der Variable „Gehälter“ gespeichert. In der nächsten Zeile wird eine neue Datei „salary.p“ im wb-Modus als Handle geöffnet. Jetzt befindet sich die Datei in dem Objekt namens „Handle“. Dann wird die Funktion pickle dump() verwendet, um mit dem Wörterbuch „Salaries“ unter Verwendung des „HIGHEST_PROTOCOL“ zu „handhaben“. Dadurch kann das Wörterbuch in „Gehälter“ in der Datei „Gehalt.p“ auf der Festplatte des Computers gespeichert werden. Um nun die Daten wieder aus der Datei abzurufen, wird die Datei zunächst im „rb“-Modus geöffnet. Dann wird die Methode pickle load() für diese Datei verwendet. Die zurückgegebenen Informationen werden in der Variablen „a“ gespeichert. Letztendlich werden diese Daten durch die Verwendung des Druckbefehls am Ausgabeende angezeigt, wie im folgenden Schnappschuss dargestellt:



Beispiel 5: Serialisierung und Deserialisierung von Daten in mehreren Dimensionen in einer Pickle-Datei unter Verwendung der Pickle-Dump- und Ladefunktion

Das Erstellen von DataFrames (mehrdimensionale Tabellen) in Python ist praktisch, um neue Methoden und Funktionen zu testen, die im Python-Modul von Panda zu finden sind. Es gibt verschiedene Methoden, um einen DataFrame von Grund auf neu zu erstellen, aber eine der einfachsten ist die Verwendung eines einfachen Wörterbuchs.


In dem in der vorherigen Abbildung bereitgestellten Code werden die ersten pickle- und Pandas-Module importiert. Anschließend wird mit der Methode pd.DataFrame() eine mehrdimensionale Tabelle erstellt. Das nächste Attribut der Strategie ist eine Liste mit vier Listen. Jede Liste entspricht einer Zeile der Tabelle. Der zweite Parameter ist „Spalten“, der die Überschrift jeder Spalte der Tabelle definiert. Dieser DataFrame wird in „pre“ gespeichert. Dann wird eine neue Datei namens „attendance.p“ im wb-Modus geöffnet und die pickle dump()-Methode wird auf diese Datei mit dem DataFrame angewendet. Nun werden unsere angegebenen Daten in der Datei „attendance.p“ auf der Festplatte des Computers gespeichert.


Um die Daten aus der Datei abzurufen, öffnen wir die Datei im rb-Modus, der das Lesen der Datei ermöglicht. Dann wird die Methode pickle load() in der Datei „attendance.p“ verwendet. Schließlich werden die Daten in der Datei am Ausgabeterminal angezeigt. Wie wir sehen können, wird der gesamte DataFrame am Ausgabeterminal angezeigt, das in der Datei „attendance.p“ gespeichert ist.

Fazit

Treffen Sie zusätzliche Vorsichtsmaßnahmen, wenn Sie mit Pickle-Dateien arbeiten. Dem Pickle-Modul mangelt es an Sicherheit. Entpicken Sie nur die Daten, denen Sie vertrauen. Es ist möglich, bösartige Pickle-Daten zu erstellen, die während des Unpickling-Vorgangs beliebigen Code ausführen könnten. Es ist jedoch eine effektive Methode zum Speichern von Wörterbüchern, Listen und Tabellen in Python. Das Beizen ist besonders vorteilhaft bei der Datenanalyse, wenn Sie Routineoperationen an den Daten ausführen, wie z. B. die Vorverarbeitung. Ich hoffe, dieser Artikel hat Ihnen geholfen, die verschiedenen Methoden des Pickle-Moduls von Python kennenzulernen und wie Sie es mit Wörterbüchern verwenden.