1. Was ist Pickle? Was sind die Vorteile von Pickle?
Python bietet ein Standardmodul namens Pickle. Dies ist ein erstaunliches Modul, das fast jedes Python-Objekt (sogar einige Python-Codeblöcke (Formulare)!) als String ausdrücken kann, ein Prozess namens Pickling. Das Rekonstruieren eines Objekts aus einer String-Darstellung wird als Unpickling bezeichnet. Objekte im gekapselten Zustand können in Dateien oder Objekten gespeichert und auch zwischen Remote-Computern über das Netzwerk übertragen werden.
Das Pickle-Modul erstellt ein Python-sprachspezifisches Binärformat, ohne sie in Zeichenfolgen zu konvertieren oder in eine Binärdatei zu schreiben, ohne Low-Level-Dateizugriffsoperationen zu verwenden, was im Grunde nicht der Fall ist Sie müssen über alle Dateidetails nachdenken.
2. Die Hauptfunktionen von Pickle
Die beiden Hauptfunktionen im Pickle-Modul sind dump() und load().
Die Funktion dump() speichert das Datenobjekt in einer bestimmten Datei in einem bestimmten Format.
Wenn die Funktion „load()“ gespeicherte Objekte aus der Datei abruft, weiß pickle, wie diese Objekte in ihrem ursprünglichen Format wiederhergestellt werden.
Die Funktion dumps() führt die gleiche Serialisierung durch wie die Funktion dump(). Anstatt ein Stream-Objekt zu akzeptieren und die serialisierten Daten in einer Festplattendatei zu speichern, gibt diese Funktion einfach die serialisierten Daten zurück.
Die Funktion „loads()“ führt die gleiche Deserialisierung durch wie die Funktion „load()“. Anstatt ein Stream-Objekt zu akzeptieren und die serialisierten Daten aus einer Datei zu lesen, akzeptiert es ein str-Objekt, das die serialisierten Daten enthält, und gibt das Objekt direkt zurück.
cPickle ist eine schnellere, in der C-Sprache kompilierte Version von pickle.
pickle und cPickle entsprechen den Serialisierungs- und Deserialisierungsoperationen von Java
3. So verwenden Sie Pickle
import pickle
mit open('mydata.pickle','wb') als mysavedata:
pickle.dump({'alice':0,'clio':8},mysavedata)
mit open('mydata.pickle','rb') als myrestoredata:
a_dict = pickle.load(myrestoredata)
print a_dict
Ergebnis:
{'clio': 8, 'alice': 0}
Weitere Artikel zum Thema Pythons Pickle: Pickle your data finden Sie auf der chinesischen PHP-Website!