python模塊-json、pickle
阿新 • • 發佈:2018-11-17
模塊 ads 時也 mps lis json處理 imp open str
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)代替
python模塊-json、pickle