Python json用法--dumps與loads dump與load
阿新 • • 發佈:2019-04-08
source comm path -- 用法 文件內容 json 序列 clas
dumps與loads
相同點
都是在內存中轉換
不同點
-
dumps
把特定的對象序列化處理為字符串,即把dict或list轉換為str
-
loads把字符串通過反序列化轉換成list和dict
註意:如果外形不是list或者dict的形狀,則不會轉換成功的,這裏必須要註意,字符串的外面的引號必須是“單引號”,內部必須是雙引號,如果不是這樣 ,json模塊會報錯的
dump與load
相同點
都是在文件中處理
不同點
-
dump
dump是把序列化後的字符串寫到一個文件中
-
load
load是從一個一個文件中讀取文件
代碼示例
import json,pytest
#將dict或list轉化成string
def test_dumps():
dict={‘k1‘:‘v1‘}
dumps_sth=json.dumps(dict)
assert (type(dumps_sth)) == str
#將string轉換成dict或list
def test_loads():
str=‘{"k1": "v1"}‘
loads_sth=json.loads(str)
assert type(loads_sth) == dict
#往json文件寫入內容
def test_dump():
file_path=r"E:\testdata\test.json.py"
sth={‘age‘:18}
json.dump(sth,open(file_path,‘w‘))
json_object = json.load(open(file_path,‘r‘))
return json_object
assert type(file_path) == dict
#無法追加內容,會把之前的json文件內容覆蓋
#讀取json文件
def test_load():
file_path=r"E:\testdata\test.json.py"
with open(file_path,encoding=‘utf-8‘) as f:
json_object = json.load(f,encoding=‘utf-8‘)
return json_object
assert type(file_path) == dict
Python json用法--dumps與loads dump與load