Computerwissenschaften

So verwenden Sie Pickle zum Speichern von Objekten in Python

Pickle, das standardmäßig Teil der Python-Bibliothek ist, ist ein wichtiges Modul, wenn Sie zwischen Benutzersitzungen eine Persistenz benötigen. Als Modul ermöglicht pickle das Speichern von Python-Objekten zwischen Prozessen.

Unabhängig davon, ob Sie für eine Datenbank. ein Spiel, ein Forum oder eine andere Anwendung programmieren , die Informationen zwischen Sitzungen speichern muss, ist pickle nützlich, um Kennungen und Einstellungen zu speichern. Das Pickle-Modul kann Dinge wie Datentypen wie Boolesche Werte, Zeichenfolgen und Bytearrays, Listen, Wörterbücher, Funktionen und mehr speichern.

Hinweis:  Das Konzept des Beizens wird auch als Serialisierung, Marshalling und Abflachen bezeichnet. Der Punkt ist jedoch immer derselbe – um ein Objekt zum späteren Abrufen in einer Datei zu speichern. Das Beizen erreicht dies, indem das Objekt als ein langer Strom von Bytes geschrieben wird.

 

Pickle-Beispielcode in Python

Um ein Objekt in eine Datei zu schreiben, verwenden Sie einen Code in der folgenden Syntax:

import pickle 
object=Object () 
filehandler=open (Dateiname, 'w') 
pickle.dump (Objekt, filehandler)

So sieht ein Beispiel aus der Praxis aus:

import Beize 
import math 
object_pi=Math.PI 
file_pi=open ( 'filename_pi.obj', 'w') 
pickle.dump (object_pi, file_pi)

Dieser Code – Schnipsel schreibt den Inhalt von object_pi in den Datei – Handler file_pi , die wiederum in die Datei gebunden ist filename_pi.obj im Verzeichnis der Ausführung.

Laden Sie das Objekt aus der Datei, um den Wert des Objekts im Speicher wiederherzustellen. Angenommen, die Gurke wurde noch nicht zur Verwendung importiert, importieren Sie sie zunächst:

import pickle 
filehandler=open (Dateiname, '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 einsatzbereit, diesmal als object_pi2 . Sie können die ursprünglichen Namen natürlich wiederverwenden, wenn Sie dies bevorzugen. In diesem Beispiel werden aus Gründen der Übersichtlichkeit unterschiedliche Namen verwendet.

 

Dinge, an die man sich bei Pickle erinnern sollte

Beachten Sie Folgendes, wenn Sie das Pickle-Modul verwenden:

  • Das Pickle-Protokoll ist spezifisch für Python – es ist nicht garantiert sprachübergreifend kompatibel. Sie können die Informationen höchstwahrscheinlich nicht übertragen, um sie in Perl, PHP, Java oder anderen Sprachen nützlich zu machen.
  • Es gibt auch keine Garantie für die Kompatibilität zwischen verschiedenen Versionen von Python. Die Inkompatibilität liegt vor, da 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.

Tipp: Erfahren  Sie auch,  wie Sie mit Shelve Objekte in Python  für eine andere Methode zur Aufrechterhaltung der Objektkontinuität speichern können .

Similar Posts

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.