標籤:練習 lis data- ict desc art 字串 log coding
#--*--conding:utf-8 --*--#jshon這個模組就是做序列化處理的,主要用到json模組的四種方法#1、dumps#2、loads#3、dump#4、load#先介紹dumps方法,通過jshon的dumps的模組可以把特定的對象序列化處理為字串# import json# l1 = [1,2,3,454]# d1 = {‘k1‘:‘v1‘}# ret = json.dumps(l1)# print(type(ret))# ret = json.dumps(d1)# print(type(ret))# <class ‘str‘># <class ‘str‘># l1 = ‘[1,2,3,4]‘# d1 = ‘{"k1":"v1"}‘# print(type(l1))# print(type(d1))#在來介紹loads方法#上面的l1和d1都是字串,但是他們的外形和list和dict一樣,我們就可以通過還原序列化把這2個字串轉換成list和dict,這裡如果外形不是list或者dict的形狀,則不會轉換成功的# ret = json.loads(l1)# print(ret,type(ret))# ret = json.loads(d1)# print(ret,type(ret))# [1, 2, 3, 4] <class ‘list‘># {‘k1‘: ‘v1‘} <class ‘dict‘>#來做一個小練習,通過第三方模組get到http請求,然後json模組把返回的字串結構的資料轉換字典的形式,這樣我們就可以對這個字典做操作# import requests# import json# ret = requests.get(‘http://wthrcdn.etouch.cn/weather_mini?city=北京‘)# ret.encoding = ‘utf-8‘# s1 = ret.text# print(s1,type(s1))#拿到字串形式的資料# {"desc":"invilad-citykey","status":1002} <class ‘str‘># d1 = json.loads(s1)# print(d1,type(d1))#通過loads的方法,把字串轉換成字典# {‘desc‘: ‘invilad-citykey‘, ‘status‘: 1002} <class ‘dict‘>#上面的dumps和loads方法都在記憶體中轉換,下面的dump和load的方法會多一個步驟,dump是把序列化後的字串寫到一個檔案中,而load是從一個一個檔案中讀取檔案#然後來介紹dump方法# import json# d1 = {‘name‘:‘foot‘}#這一步就會把d1做序列化處理後的字串寫到db這個檔案中# json.dump(d1,open(‘db‘,‘w‘))# d1 = json.load(open(‘db‘,‘r‘))# print(d1,type(d1))# {‘name‘: ‘foot‘} <class ‘dict‘>
pickle.dump(info,f) #f.write( pickle.dumps( info) )(兩者區別)
python的json模組的dumps,loads,dump,load方法介紹