Python Pickle Beispiel
In diesem Tutorial werden wir über ein Beispiel für Python Pickle sprechen. In unserem vorherigen Tutorial haben wir über Python Multiprocessing gesprochen.
Python Pickle
Python Pickle wird verwendet, um ein Python-Objektstruktur zu serialisieren und deserialisieren. Jedes Objekt in Python kann gepickelt werden, so dass es auf der Festplatte gespeichert werden kann. Zuerst serialisiert Python Pickle das Objekt und konvertiert es dann in einen Zeichendatenstrom, sodass dieser Zeichendatenstrom alle Informationen enthält, die notwendig sind, um das Objekt in einem anderen Python-Skript wiederherzustellen. Beachten Sie, dass das Pickle-Modul gemäß der Dokumentation nicht gegen fehlerhafte oder böswillig konstruierte Daten gesichert ist. Daher sollten Sie niemals Daten, die von einer nicht vertrauenswürdigen oder nicht authentifizierten Quelle empfangen wurden, unpickeln.
Python Pickle Dump
In diesem Abschnitt werden wir lernen, wie man Daten mit Python Pickle speichert. Dazu müssen wir zuerst das pickle Modul importieren. Dann verwenden wir die pickle.dump() Funktion, um die Objektdaten in die Datei zu speichern. Die pickle.dump() Funktion benötigt 3 Argumente. Das erste Argument ist das Objekt, das Sie speichern möchten. Das zweite Argument ist das Dateiobjekt, das Sie erhalten, indem Sie die gewünschte Datei im write-binary (wb) Modus öffnen. Und das dritte Argument ist das Schlüssel-Wert-Argument. Dieses Argument definiert das Protokoll. Es gibt zwei Arten von Protokollen - pickle.HIGHEST_PROTOCOL und pickle.DEFAULT_PROTOCOL. Sehen Sie sich den Beispielcode an, um zu erfahren, wie man Daten mit Pickle speichert.
import pickle
take user input to take the amount of data
number_of_data = int(input('Enter the number of data : '))
data = []
take input of the data
for i in range(number_of_data):
raw = input('Enter data '+str(i)+' : ')
data.append(raw)
open a file, where you ant to store the data
file = open('important', 'wb')
dump information to that file
pickle.dump(data, file)
close the file
file.close()
Das folgende Programm fordert Sie auf, einige Eingaben zu machen. In meinem Fall war es so.
Python Pickle laden
Um Daten im Pickle-Format abzurufen, sind die Schritte ganz einfach. Sie müssen die Funktion pickle.load() verwenden, um dies zu tun. Das Hauptargument der pickle.load-Funktion ist das Dateiobjekt, das Sie durch das Öffnen der Datei im Lese-Binärmodus (rb) erhalten. Ganz einfach! Ist es nicht? Lassen Sie uns den Code schreiben, um die Daten abzurufen, die wir mit dem Pickle-Dump-Code gepickelt haben. Siehe den folgenden Code zum Verständnis.
import pickle
open a file, where you stored the pickled data
file = open('important', 'rb')
dump information to that file
data = pickle.load(file)
close the file
file.close()
print('Showing the pickled data:')
cnt = 0
for item in data:
print('The data ', cnt, ' is : ', item)
cnt += 1
Die Ausgabe wird wie folgt sein:
Showing the pickled data:
The data 0 is : 123
The data 1 is : abc
The data 2 is : !@#$
Python Pickle Beispiel
Ich habe ein kurzes Video gemacht, das die Ausführung von Python-Pickle-Beispielprogrammen zeigt - zuerst um Daten in eine Datei zu speichern und dann um sie zu laden und auszudrucken.
Wichtige Hinweise zu Python Pickle
Einige wichtige Punkte über das Python Pickle-Modul sind:
- Das Pickle-Protokoll ist spezifisch für Python - es ist nicht garantiert, dass es mit anderen Programmiersprachen kompatibel ist. Das bedeutet, dass Sie die Informationen höchstwahrscheinlich nicht übertragen können, um sie in anderen Programmiersprachen nützlich zu machen.
- Es gibt auch keine Garantie für die Kompatibilität zwischen verschiedenen Versionen von Python, da nicht jede Python-Datenstruktur vom Modul serialisiert werden kann.
- Die neueste Version des Pickle-Protokolls wird standardmäßig verwendet, es sei denn, Sie ändern sie manuell.
- Zu guter Letzt ist das pickle-Modul laut Dokumentation nicht sicher gegenüber fehlerhaften oder böswillig konstruierten Daten.
Das ist also alles über das Beispiel zur Python-Pickle. Ich hoffe, dass Sie es gut verstehen konnten. Bei weiteren Fragen nutzen Sie bitte den Kommentarbereich. :) Referenz: Offizielle Dokumentation


