1. 程式人生 > 實用技巧 >Python中dump、load和dumps、loads的區別

Python中dump、load和dumps、loads的區別

Python中dump、load和dump、loads的區別

dump

json.dump()用於將dict型別的資料轉成str,並寫入到json檔案中。

import json
Dict = {"name": "tutu"}
with open("./file.json", "w") as f:
    json.dump(Dict, f)

load

json.load()用於從json檔案中讀取資料

實際相當於在loads的基礎上,原碼裡多做了一個f.read()的操作

import json
with open("./file.json", "r") as f:
    Dict = json.load(f)
    print(Dict)

dumps

json.dumps()用於將dict型別的資料轉成str,因為如果直接將dict型別的資料寫入json檔案中會發生報錯,因此在將資料寫入時需要用到該函式。

import json
Dict = {"name": "tutu"}
Str = json.dumps(Dict)
with open("./file.json", "w") as f:
    f.write(Str)

json序列化時,預設遇到中文會轉換成unicode,如果想要保留中文在序列化時,在dumps函式中新增引數ensure_ascii=False即可解決。

loads

json.loads()用於將str型別的資料轉成dict。

import json
Dict = {"name": "tutu"}
Str = json.dumps(Dict)
Dict1 = json.loads(Str)