Heim >Backend-Entwicklung >Python-Tutorial >Verwendung des Json-Moduls und des Pickle-Moduls in Python
Serialisierung und Deserialisierung von Daten sind gängige Datenoperationen, um Entwicklern die Implementierung von Datenserialisierungsoperationen zu erleichtern, nämlich das Modul json und das Modul pickle Modul. Die Hauptunterschiede zwischen diesen beiden Modulen sind wie folgt:
json ist ein Textserialisierungsformat, während pickle ein binäres Serialisierungsformat ist
json kann intuitiv gelesen werden, pickle jedoch nicht; >
JSON ist interoperabel und wird häufig außerhalb des Python-Systems verwendet, während Pickle Python-spezifisch ist. Standardmäßig kann JSON nur eine Teilmenge der integrierten Python-Typen darstellen. Aber Pickle kann eine große Anzahl von Python-Datentypen darstellen.Empfohlenes Lernen: Python-Video-Tutorial
Json-Modul
Json ist ein leichtes Datenaustauschformat, das aufgrund seiner geringen Datenmenge und der einfachen Analyse des Datenformats häufig bei interaktiven Vorgängen zwischen verschiedenen Systemen verwendet wird Daten. Es enthält mehrere häufig verwendete Funktionen wie folgt:dumps()-Funktion Die
dumps()-Funktion kann Python-Objekte in Json-Strings kodieren. Zum Beispiel:# 字典转成json字符串 加上ensure_ascii = False以后, 可以识别中文, indent = 4 是间隔4个空格显示 import json d = { '小明': { 'sex': '男', 'addr': '上海', 'age': 26 }, '小红': { 'sex': '女', 'addr': '上海', 'age': 24 }, } print(json.dumps(d, ensure_ascii = False, indent = 4)) # 执行结果: { "小明": { "sex": "男", "addr": "上海", "age": 26 }, "小红": { "sex": "女", "addr": "上海", "age": 24 } }
dump()-Funktion
dump()-Funktion kann Python-Objekte in JSON-Strings kodieren und sie automatisch in die Datei schreiben. Es ist nicht erforderlich, Dateien zu schreiben separat. Zum Beispiel:# 字典转成json字符串, 不需要写文件, 自动转成的json字符串写入到‘ users.json’ 的文件中 import json d = { '小明': { 'sex': '男', 'addr': '上海', 'age': 26 }, '小红': { 'sex': '女', 'addr': '上海', 'age': 24 }, }# 打开一个名字为‘ users.json’ 的空文件 fw = open('users.json', 'w', encoding = 'utf-8') json.dump(d, fw, ensure_ascii = False, indent = 4)
loads()-Funktion
loads()-Funktion kann JSON-String in Python-Datentyp konvertieren. Zum Beispiel:# 这是users.json文件中的内容 { "小明": { "sex": "男", "addr": "上海", "age": 26 }, "小红": { "sex": "女", "addr": "上海", "age": 24 } } #!/usr/bin / python3# 把json串变成python的数据类型 import json# 打开‘ users.json’ 的json文件 f = open('users.json', 'r', encoding = 'utf-8')# 读文件 res = f.read() print(json.loads(res)) # 执行结果: { '小明': { 'sex': '男', 'addr': '上海', 'age': 26 }, '小红': { 'sex': '女', 'addr': '上海', 'age': 24 } }
load()-Funktion
load() hat ähnliche Funktionen wie Load(). Die Load()-Funktion kann JSON-Strings in Python-Datentypen konvertieren Der Unterschied besteht darin, dass der Parameter des ersteren ein Dateiobjekt ist und diese Datei nicht separat gelesen werden muss. Zum Beispiel:# 把json串变成python的数据类型: 字典, 传一个文件对象, 不需要再单独读文件 import json# 打开文件 f = open('users.json', 'r', encoding = 'utf-8') print(json.load(f)) # 执行结果: { '小明': { 'sex': '男', 'addr': '上海', 'age': 26 }, '小红': { 'sex': '女', 'addr': '上海', 'age': 24 } }
Pickle-Modul
Das Pickle-Modul hat ähnliche Funktionen wie das Json-Modul und enthält außerdem vier Funktionen, nämlich dump(), dumps(), lädt () und Load(), ihre Hauptunterschiede sind wie folgt: Der Unterschied zwischen dumps und dump besteht darin, dass ersteres das Objekt serialisiert, während letzteres das Objekt serialisiert und in einer Datei speichert. Der Unterschied zwischen Loads und Load besteht darin, dass ersteres die serialisierte Zeichenfolge deserialisiert, während letzteres die serialisierte Zeichenfolge aus der Datei liest und deserialisiert.dumps()-Funktion
dumps()-Funktion kann Daten in einer speziellen Form in eine Zeichenfolge konvertieren, die nur von der Python-Sprache erkannt wird, zum Beispiel:import pickle# dumps功能 import pickle data = ['A', 'B', 'C', 'D'] print(pickle.dumps(data)) b '\x80\x03]q\x00(X\x01\x00\x00\x00Aq\x01X\x01\x00\x00\x00Bq\x02X\x01\x00\x00\x00Cq\x03X\x01\x00\x00\x00Dq\x04e.'
dump()-Funktion
dump()-Funktion kann Daten in eine Zeichenfolge konvertieren, die nur von der Python-Sprache in einer speziellen Form erkannt wird, und sie in eine Datei schreiben. Zum Beispiel:# dump功能 with open('test.txt', 'wb') as f: pickle.dump(data, f) print('写入成功')Erfolgreich schreiben
loads()-Funktion
loads()-Funktion kann Pickle-Daten in eine Python-Datenstruktur konvertieren. Zum Beispiel:# loads功能 msg = pickle.loads(datastr) print(msg) ['A', 'B', 'C', 'D']
load()-Funktion
load()-Funktion kann Daten aus einer Datendatei lesen und in eine Python-Datenstruktur konvertieren. Zum Beispiel:# load功能with open('test.txt', 'rb') as f: data = pickle.load(f) print(data) ['A', 'B', 'C', 'D']Dieser Artikel stammt aus der Spalte
Python-Tutorial, willkommen zum Lernen!
Das obige ist der detaillierte Inhalt vonVerwendung des Json-Moduls und des Pickle-Moduls in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!