1. 程式人生 > >Python json用法--dumps與loads dump與load

Python json用法--dumps與loads dump與load

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