已配置全部阈值,Python空气质量通知程序无输出求助
排查IQAir空气质量通知Python代码无输出问题
验证API调用有效性
- 确认IQAir API密钥配置正确,可在命令行用
curl直接测试请求:curl "http://api.airvisual.com/v2/nearest_city?key=你的密钥",查看是否返回正常JSON数据。 - 检查API请求参数完整性,比如经纬度、城市/国家等必填参数是否正确传入,部分IQAir接口缺少这些参数会返回空数据。
- 在代码中添加响应状态码打印:
print(response.status_code),401代表密钥无效,404代表参数错误,500为服务器端问题。
- 确认IQAir API密钥配置正确,可在命令行用
排查数据解析逻辑
- 打印API返回的完整JSON数据:
print(response.json()),核对代码中调用的字段(如data.current.pollution.aqi)是否与实际返回结构一致,避免字段名写错导致取值为空。 - 添加空值判断检查,若API返回的空气质量指数为
None或未找到对应字段,代码会跳过后续逻辑,需提前处理这类情况。
- 打印API返回的完整JSON数据:
检查阈值判断逻辑
- 打印获取到的AQI数值:
print(aqi_value),确认数值是否落在你设置的50、100等阈值区间内。若实际AQI低于50且未设置对应消息,自然无输出。 - 核对条件判断语法,比如是否正确使用
>=/<=运算符,避免逻辑错误(如误将and写为or)导致所有条件都不触发。
- 打印获取到的AQI数值:
验证通知触发机制
- 在代码开头添加测试输出:
print("程序启动"),确认Python解释器能正常执行代码,排除运行环境问题。 - 若使用Windows桌面通知,检查
win10toast等依赖库是否已安装(用pip list查看),同时确认系统允许该程序发送通知。
- 在代码开头添加测试输出:
基础环境校验
- 命令行运行
python --version确认使用的是Python 3.9,避免用错解释器版本。 - 重新安装依赖库(如
requests):pip install --upgrade requests,避免库文件损坏导致调用失败。
- 命令行运行
内容的提问来源于stack exchange,提问作者Sooj Han
相关产品推荐
相关产品推荐

