微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

天气 API 响应中的 KeyError

如何解决天气 API 响应中的 KeyError

我正在制作一个python程序,它告诉我们天气,但面临以下错误

请告诉如何更正?

代码

import requests
import json

api = "<MY_API_KEY>"
BASE_URL = "https://api.openweathermap.org/data/2.5/weather?"
print("for which city?")
CITY = input("city?: ")
URL = BASE_URL + "q=" + CITY + "&appid=" + api

response = requests.get(URL)
if __name__ == "__main__":
    data = response.json()
    main = data['main']
    temperature = main['temp']
    humidity = main['humidity']
    pressure = main['pressure']
    report = data['weather']
    print(f"{CITY:-^30}")
    print(f"Temperature: {temperature}")
    print(f"Humidity: {humidity}")
    print(f"Pressure: {pressure}")
    print(f"Weather Report: {report[0]['description']}")

终端

PS C:\Users\mamta\Documents\PythonPanti\JARVISprj>  c:; cd 'c:\Users\mamta\Documents\PythonPanti\JARVISprj'; & 'C:\Users\mamta\AppData\Local\Programs\Python\python39\python.exe' 'c:\Users\mamta\.vscode\extensions\ms-python.python-2021.5.842923320\pythonFiles\lib\python\debugpy\launcher' 
'53873' '--' 'c:\Users\mamta\Documents\PythonPanti\JARVISprj\exp.py'
for which city?
city?: Delhi
Traceback (most recent call last):
  File "c:\Users\mamta\Documents\PythonPanti\JARVISprj\exp.py",line 13,in <module>
    main = data['main']
KeyError: 'main'

解决方法

您的代码非常好,我看到的唯一问题是当您输入任何垃圾值时。您需要进行错误处理。 enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。