Heim >Backend-Entwicklung >Python-Tutorial >Vergleichen Sie die Unterschiede zwischen den Python-Serialisierungsmodulen pickle und json
Dies sind zwei Module für die Serialisierung:
• json: zum Konvertieren zwischen Strings und Python-Datentypen
• pickle: für Python-spezifische Typen und Konvertieren zwischen Python-Datentypen
Das Json-Modul bietet vier Funktionen: Dumps, Dump, Loads, Load
Das Pickle-Modul bietet vier Funktionen: Dumps, Dump, Loads, Load
Dumps können den Datentyp in eine serialisierte Zeichenfolge konvertieren (wird nur von Python erkannt)
>>> import pickle >>> data = {'name':'python', 'site':'pythontab.com'} >>> pstr = pickle.dumps(data) >>> print pstr (dp0 S'name' p1 S'python' p2 sS'site' p3 S'pythontab.com' p4 s.
Konvertieren Sie die Daten in eine serialisierte Zeichenfolge und schreiben Sie in die Datei:
import pickle data = {'name':'python', 'site':'pythontab.com'} #打开文件,然后将data写入 with open('dump.data', 'wb') as f: pickle.dump(data, f) #同样读取的时候也需要打开文件 with open('dump.data', 'rb') as f: data_load = pickle.load(f) print data_load
Ergebnis :
{'name':'python', 'site':'pythontab.com'}
Der in der Datei angezeigte Inhalt stimmt mit dem oben genannten überein
Verwendung von JSON Es ist dasselbe wie Pickle
import json data = {'name':'python', 'site':'pythontab.com'} jstr = json.dumps(data) print jstr, type(jstr)
Ergebnis:
{"name":"python", "site":"pythontab.com"} <type 'str'>
Hinweis: Es sieht aus wie ein Wörterbuch, muss es aber sein. Beachten Sie, dass es sich tatsächlich um eine Zeichenfolge handelt. Da JSON nur im String-Format vorliegen kann, sieht es einfach wie ein Wörterbuch aus.
Json kann Daten zwischen verschiedenen Sprachen austauschen, während Pickle nur zwischen Python verwendet werden kann.
json kann nur die grundlegendsten Datentypen serialisieren, während pickle alle Datentypen, einschließlich Klassen und Funktionen, serialisieren kann.
Das obige ist der detaillierte Inhalt vonVergleichen Sie die Unterschiede zwischen den Python-Serialisierungsmodulen pickle und json. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!