国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
【Python 第45課】 查天氣(3)20150120045

看一下我們已經(jīng)拿到的json格式的天氣數(shù)據(jù):

1. {

2. "weatherinfo": {

3. "city": "南京",

4. "cityid": "101190101",

5. "temp1": "37℃",

6. "temp2": "28℃",

7. "weather": "多云",

8. "img1": "d1.gif",

9. "img2": "n1.gif",

10. "ptime": "11:00"

11. }

12. }

復制代碼

直接在命令行中看到的應該是沒有換行和空格的一長串字符,這里我把格式整理了一下??梢钥闯?,它像是一個字典的結(jié)構(gòu),但是有兩層。最外層只有一個key--“weatherinfo”,它的value是另一個字典,里面包含了好幾項天氣信息,現(xiàn)在我們最關(guān)心的就是其中的temp1,temp2和weather。

雖然看上去像字典,但它對于程序來說,仍然是一個字符串,只不過是一個滿足json格式的字符串。我們用python中提供的另一個模塊json提供的loads方法,把它轉(zhuǎn)成一個真正的字典。

1. import json

2.  

3. data = json.loads(content)

復制代碼

這時候的data已經(jīng)是一個字典,盡管在控制臺中輸出它,看上去和content沒什么區(qū)別,只是編碼上有些不同:

1. {u'weatherinfo': {u'city':u'\u5357\u4eac', u'ptime': u'11:00', u'cityid': u'101190101',u'temp2': u'28\u2103', u'temp1': u'37\u2103', u'weather':u'\u591a\u4e91', u'img2': u'n1.gif', u'img1': u'd1.gif'}}

復制代碼

但如果你用type方法看一下它們的類型:

1. print type(content)

2. print type(data)

3.  

復制代碼

就知道區(qū)別在哪里了。

之后的事情就比較容易了。

1. result =data['weatherinfo']

2. str_temp = ('%s\n%s ~ %s') %(

3. result['weather'],

4. result['temp1'],

5. result['temp2']

6. )

7. print str_temp

復制代碼

為了防止在請求過程中出錯,我加上了一個異常處理。

1. try:

2. ###

3. ###

4. except:

5. print '查詢失敗'

復制代碼

以及沒有找到城市時的處理:

1. if citycode:

2. ###

3. ###

4. else:

5. print '沒有找到該城市'

復制代碼



完整代碼:

1. # -*- coding: utf-8 -*-

2. import urllib2

3. import json

4. from city import city

5.  

6. cityname =raw_input('你想查哪個城市的天氣?\n')

7. citycode =city.get(cityname)

8. if citycode:

9. try:

10. url =('http://www.weather.com.cn/data/cityinfo/%s.html'

11. % citycode)

12. content = urllib2.urlopen(url).read()

13. data = json.loads(content)

14. result = data['weatherinfo']

15. str_temp = ('%s\n%s ~ %s') % (

16. result['weather'],

17. result['temp1'],

18. result['temp2']

19. )

20. print str_temp

21. except:

22. print '查詢失敗'

23. else:

24. print '沒有找到該城市'

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
MicroPython 玩轉(zhuǎn)硬件系列6:獲取天氣情況
一起來開發(fā)Android的天氣軟件(四)
Py:利用pickle模塊和API天氣接口實現(xiàn)輸入城市得到該城市的天氣預報
Windows 環(huán)境下 Python 環(huán)境安裝
常見Python代碼段,快速提高工作效率!
python 列表推導公式及練習題
更多類似文章 >>
生活服務
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服