Pickle ist standardmäßig Teil der Python-Bibliothek und ein wichtiges Modul, wenn Sie Persistenz zwischen Benutzersitzungen benötigen. Als Modul bietet pickle Funktionen zum Speichern von Python-Objekten zwischen Prozessen.
Ob Sie für eine Datenbank, ein Spiel, ein Forum oder eine andere Anwendung programmieren, bei der Informationen zwischen Sitzungen gespeichert werden müssen, Pickle hilft beim Speichern von Kennungen und Einstellungen. Das Pickle-Modul kann Datentypen wie boolesche Werte, Zeichenfolgen und Byte-Arrays, Listen, Wörterbücher, Funktionen usw. speichern.
Hinweis: Das Pickle-Konzept wird auch als Serialisierung, Marshalling und Flattening bezeichnet. Der Schlüssel ist jedoch immer derselbe: Speichern Sie das Objekt in einer Datei, um es später abzurufen. pickle erreicht dies, indem es das Objekt in einen langen Bytestream schreibt.
Pickle-Beispielcode in Python
Um ein Objekt in eine Datei zu schreiben, verwenden Sie Code in der folgenden Syntax:
import pickle object = Object() filehandler = open(filename, 'w') pickle.dump(object, filehandler)
Hier ist ein Beispiel aus dem wirklichen Leben:
import pickle import math object_pi = math.pi file_pi = open('filename_pi.obj', 'w') pickle.dump(object_pi, file_pi)
Dieses Snippet schreibt den Inhalt von object_pi in den Dateihandler file_pi, der wiederum an die Datei filename_pi.obj im Ausführungsverzeichnis gebunden ist.
Um den Wert eines Objekts im Speicher wiederherzustellen, laden Sie das Objekt aus einer Datei. Vorausgesetzt, Pickle wurde nicht zur Verwendung importiert, importieren Sie es zuerst:
import pickle filehandler = open(filename, 'r') object = pickle.load(filehandler)
Der folgende Code stellt den Wert von pi wieder her:
import pickle file_pi2 = open('filename_pi.obj', 'r') object_pi2 = pickle.load(file_pi2)
Das Objekt ist dann wieder zur Verwendung bereit, dieses Mal als object_pi2. Natürlich können Sie den ursprünglichen Namen wiederverwenden, wenn Sie möchten. In diesem Beispiel werden aus Gründen der Übersichtlichkeit unterschiedliche Namen verwendet.
Dinge über Pickle
Bitte beachten Sie Folgendes, wenn Sie das Pickle-Modul verwenden:
Das Pickle-Protokoll ist spezifisch für Python – es kann nicht garantiert werden, dass es sprachübergreifend ist kompatibel. Sie werden höchstwahrscheinlich nicht in der Lage sein, die Informationen zu übertragen, um sie in Perl, PHP, Java oder anderen Sprachen nutzbar zu machen.
Die Kompatibilität zwischen verschiedenen Python-Versionen kann nicht garantiert werden. Die Inkompatibilität besteht, weil nicht jede Python-Datenstruktur vom Modul serialisiert werden kann.
Standardmäßig wird die neueste Version des Pickle-Protokolls verwendet. Dies bleibt so, es sei denn, Sie ändern es manuell.
Das obige ist der detaillierte Inhalt vonSo speichern Sie Objekte in Python mit Pickle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!