#Auther Bob #--*--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'>
python之序列化
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.