1. 程式人生 > >python模組-json、pickle

python模組-json、pickle

json模組

用於檔案處理時的其他資料型別與js字串之間轉換。在將其他資料型別轉換為js字串時,首先將前者內部所有的單引號變為雙引號,再整體加上引號(單或雙)轉換為js字串;在使用時再將js字串還原為本來的資料。

兩對方法json.dumps()和json.loads(),json.dump()和json.load()

import json
l=[1,'hello',{'name':'Alex'}]
with open('new.txt','w') as f:
    l_str=json.dumps(l)  #將列表l轉換為js字串
    f.write(l_str)  #將字串寫入文字
print(l_str, type(l_str)) #輸出[1,"hello", {"name": "Alex"}] <class 'str'>,可以看見原列表中所有的單引號全部變成了雙引號 with open('new.txt','r') as f: l=f.read() print(l,json.loads(l),type(json.loads(l))) #輸出[1,"hello", {"name": "Alex"}] [1,'hello', {'name': 'Alex'}] <class 'list'>

上述最後一行可以看見,由於寫入時為js字串,直接讀取時也為js字串,即引號全部為雙引號,而json.loads()是將json處理過的字串變成了原來的列表,並且處理過的雙引號全部變回了單引號

在上述檔案中,轉換和寫操作l_str=json.dumps(l)和f.write(l_str)可以用一步json.dump(l,f)代替

在上述檔案中,讀和轉換操作l=f.read()和json.loads(l)可以用一步json.load(f)代替