Heim  >  Artikel  >  Backend-Entwicklung  >  Eine kurze Einführung in JSON und Pickle in Python

Eine kurze Einführung in JSON und Pickle in Python

黄舟
黄舟Original
2017-07-20 15:24:081384Durchsuche

Der folgende Herausgeber wird Ihnen einen kurzen Vortrag über JSON und Pickle in Python halten. Der Herausgeber findet es ziemlich gut, deshalb werde ich es jetzt mit Ihnen teilen und es allen als Referenz geben. Folgen wir dem Editor und werfen wir einen Blick darauf.

Dies sind die beiden Module, die für die Serialisierung verwendet werden:

• json : wird zum Konvertieren zwischen String- und Python-Datentypen verwendet.

• pickle: wird für Python-spezifische Typen und Python-Daten zum Konvertieren zwischen verwendet Typen

Das Json-Modul bietet vier Funktionen: Dumps, Dump, Loads, Load

Das Pickle-Modul bietet vier Funktionen: Dumps, Dump, Loads, Load


import pickle
data = {'k1':123, 'k2':888}
#dumps可以将数据类型转换成只有python才认识的字符串
p_str = pickle.dumps(data)
print p_str
输出结果:
(dp0
S'k2'
p1
I888
sS'k1'
p2
I123
s.

Konvertieren Sie die Daten in eine Zeichenfolge, die nur von Python erkannt wird, und schreiben Sie sie in die Datei:


import pickle
data = {'k1':123, 'k2':888}
#打开文件,然后将data写入
with open('data.pkl', 'wb') as f:
 pickle.dump(data, f)
#同样读取的时候也需要打开文件
with open('data.pkl', 'rb') as f:
 data_1 = pickle.load(f)
print data_1
结果:
{'k2': 888, 'k1': 123}

文件中显示的内容与上面一致

Die Verwendung von JSON ist die gleiche wie bei Pickle


import json
data = {'k1':123, 'k2':888}
p_str = json.dumps(data)
print p_str, type(p_str)
结果:
{"k2": 123, "k1": 888} <type &#39;str&#39;>

Es sieht so aus Wie ein Wörterbuch, aber bitte beachten Sie, dass es sich tatsächlich um eine Zeichenfolge handelt, da JSON nur im Zeichenfolgenformat vorliegen kann und nur wie ein Wörterbuch aussieht.


import json
data = {&#39;k1&#39;:123, &#39;k2&#39;:123}
#打开文件,然后将data写入
with open(&#39;data.pkl&#39;, &#39;w&#39;) as f:
 json.dump(data, f)
#同样读取的时候也需要打开文件
with open(&#39;data.pkl&#39;, &#39;r&#39;) as f:
 data_1 = json.load(f)
print(data_1, type(data_1))
结果:
({u&#39;k2&#39;: 123, u&#39;k1&#39;: 123}, <type &#39;dict&#39;>)

kann gelesen werden und der Typ ist korrekt.

Was ist der Unterschied zwischen Pickle und JSON?

In den beiden oben genannten Codeteilen verwendet Pickle beim Schreiben und Lesen von Dateien den „b“-Modus, JSON jedoch nicht.

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 vonEine kurze Einführung in JSON und Pickle in Python. 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