- 帖子
- 12
- 精华
- 0
- 积分
- 48
- 阅读权限
- 10
- 注册时间
- 2018-5-29
- 最后登录
- 2018-6-15
|
本帖最后由 suiersoda 于 2018-6-8 13:57 编辑
接口得到的字典是嵌套着字典的,尝试着取值成功,但是还不是非常清楚字典嵌套取值这方面的原理,有的写key的名字才可以,有的写序号就可以,还要去重温一下字典方面的知识- #-*- coding: UTF-8 -*-
- import urllib.request
- import json
- from city import city
- import gzip
- exit=False
- while not exit:
- cityname=input('你要查询的城市名称\n输入q退出):')
- if cityname=="q" or cityname=="Q":
- print("退出查询")
- exit=True
- else:
-
- citycode=city.get(cityname)
- if citycode:
- try:
- url=("http://wthrcdn.etouch.cn/weather_mini?citykey=%s"%citycode)
- response=urllib.request.urlopen(url).read()
- #print(response)
- try:
- content = gzip.decompress(response).decode("utf-8")
- except:
- content=response.decode("utf-8")
- #print(content)
- lists=json.loads(content)
- #print(lists)
- #print(type(lists))
- result = lists['data']['forecast'][0]
- #print(result)
- str_temp = ('%s,%s\n%s——%s')%(
- result['date'],
- result['type'],
- result['high'],
- result['low'])
- print(str_temp)
- except:
- print('查询失败')
- else:
- print('没有找到该城市')
-
复制代码 |
|