Heim  >  Artikel  >  Backend-Entwicklung  >  So speichern Sie Objekte in Python mit Pickle

So speichern Sie Objekte in Python mit Pickle

藏色散人
藏色散人Original
2019-01-18 09:29:473142Durchsuche

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.

So speichern Sie Objekte in Python mit Pickle

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn