python——json&pickle模組
阿新 • • 發佈:2020-09-15
(1)json模組的兩種方法 :dumps() 和 loads()
import json #------dumps() dic = {'name':'alex'} s = 'hello' data1 = json.dumps(dic) data2 = json.dumps(s) #dumps()的步驟為: ------>"hello" (先把單引號變成雙引號) -------->'"hello"' (再外面加上單引號) print(data1,data2) #此時 data為一個json字串,其特點之一就是 雙引號(呼叫dumps()方法,所有的單引號都會變成雙引號)print(type(data1)) #---將資料存入磁碟--- f = open('hello','w') dic_str = json.dumps(dic) f.write(dic_str) # dump()方法:dump(dic_str,f) 就相當於做了上述兩步 該方法只適用於檔案操作 f.close() #------loads()---從磁碟中讀取資料------ f_read = open('hello','r') data = json.loads(f_read.read()) #從檔案中讀取資料,並將其還原為 dumps()之前的資料型別 #load方法: json.load(f_read) 將相當於json.loads(f_read.read()) 即省去了 .read() 該方法只適用於檔案操作 print(data['name']) print(data) print(type(data)) #此時data為字典型別 f_read.close()
(2)
dct='{"1":"111"}' data = json.loads(dct) print(data) print(type(data))
總結:無論資料是怎樣建立的,只要滿足json格式,就可以json.loads出來,不一定非要dumps的資料才能loads
再上述程式中 如果dct = ‘{'1':'111'}’ 則會報錯,因為 json 不認單引號