浙江11选5中奖结果:Python是如何查詢天氣的(3)

浙江11选5任3遗漏 www.ehxis.com 今天馬哥教育要跟大家分享的文章是Python是如何查詢天氣的(3)?在前兩節課我們談到了查天氣的難點,也跟大家說了解決辦法,并且也給大家開了個頭,今天我們來講一下剩下的查詢過程, Python入門新手和正在Python學習的小伙伴快來看一看吧,希望能夠對大家有所幫助 !

不知道大家有沒有完成剩下的查詢過程呢?沒有的話,我們一起來學習一下,完成了的話,我們一起對照一下吧:

看一下我們已經拿到的json格式的天氣數據:

{

"weatherinfo": {

"city": "南京",

"cityid": "101190101",

"temp1": "37℃",

"temp2": "28℃",

"weather": "多云",

"img1": "d1.gif",

"img2": "n1.gif",

"ptime": "11:00"

}

}

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

雖然看上去像字典,但它對于程序來說,仍然是一個字符串,只不過是一個滿足json格式的字符串。我們用Python中json??樘峁┑膌oads方法,把它轉成一個真正的字典。

import json

data = json.loads(content)

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

{u'weatherinfo': {u'city': u'u5357u4eac', u'ptime': u'11:00', u'cityid': u'101190101', u'temp2': u'28u2103', u'temp1': u'37u2103', u'weather': u'u591au4e91', u'img2': u'n1.gif', u'img1': u'd1.gif'}}

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

print type(content)

print type(data)

就知道區別在哪里了。

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

result = data['weatherinfo']

str_temp = ('%sn%s ~ %s') % (

result['weather'],

result['temp1'],

result['temp2']

)

print str_temp

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

try:

###

###

except:

print '查詢失敗'

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

if citycode:

###

###

else:

print '沒有找到該城市'
自學Python編程【第四十三節】查天氣(3)

恭喜您在Python的道路上又堅持了一天,不知道今天的課程下來你覺得在用Python編程查詢天氣的過程中,還有什么不完善的地方嗎?如果有的話,可以想一想該如何改進呢?

以上就是馬哥教育今天為大家分享的關于如何Python是如何查詢天氣的(3)的文章,希望本篇文章能夠對正在 Python學習?和從事Python相關工作的小伙伴們有所幫助,想要了解更多相關知識記得關注馬哥教育官網。最后祝愿小伙伴們工作順利!

相關新聞

聯系我們

400-080-6560

在線咨詢:點擊這里給我發消息

郵件:[email protected]

工作時間:周一至周日,09:00-18:30

QR code