Python编写天气查询应用教程
在这个信息化的时代,天气信息对我们的日常生活有着重要的影响。今天,我们将通过Python编写一个简单的天气查询应用,让你随时随地获取最新的天气情况。

准备工作
首先,确保你已经安装了Python环境。如果没有安装,可以从Python官网下载并安装。
接下来,我们需要一个天气API来获取天气数据。这里我们使用OpenWeatherMap提供的免费API。注册一个账号并获取你的API密钥。
安装必要的库
我们将使用requests库来发送HTTP请求。如果你还没有安装这个库,可以通过以下命令进行安装:
pip install requests
编写代码
导入库
首先,导入我们需要的库:
import requests
定义获取天气信息的函数
接下来,定义一个函数来获取天气信息:
def get_weather(city_name, api_key):
base_url = "http://api.openweathermap.org/data/2.5/weather"
params = {
'q': city_name,
'appid': api_key,
'units': 'metric' # 使用摄氏度
}
response = requests.get(base_url, params=params)
if response.status_code == 200:
return response.json()
else:
return None
解析天气数据
获取到的数据是JSON格式,我们需要解析这些数据:
def parse_weather_data(data):
if data:
city = data['name']
temp = data['main']['temp']
description = data['weather'][0]['description']
return f"{city}的天气:{description},当前温度:{temp}°C"
else:
return "无法获取天气信息"
主函数
最后,编写主函数来运行我们的应用:
def main():
api_key = "你的API密钥"
city_name = input("请输入城市名称:")
weather_data = get_weather(city_name, api_key)
weather_info = parse_weather_data(weather_data)
print(weather_info)
if __name__ == "__main__":
main()
运行应用
将以上代码保存为一个Python文件,例如weather_app.py,然后在终端中运行:
python weather_app.py
输入你想要查询的城市名称,即可看到该城市的天气信息。
进阶功能
添加异常处理
为了使我们的应用更加健壮,可以添加异常处理来处理网络请求失败的情况:
def get_weather(city_name, api_key):
try:
base_url = "http://api.openweathermap.org/data/2.5/weather"
params = {
'q': city_name,
'appid': api_key,
'units': 'metric'
}
response = requests.get(base_url, params=params)
response.raise_for_status()
return response.json()
except requests.RequestException as e:
print(f"请求错误:{e}")
return None
添加更多天气信息
你可以根据需要解析更多的天气信息,例如湿度、风速等:
def parse_weather_data(data):
if data:
city = data['name']
temp = data['main']['temp']
description = data['weather'][0]['description']
humidity = data['main']['humidity']
wind_speed = data['wind']['speed']
return (f"{city}的天气:{description},当前温度:{temp}°C,"
f"湿度:{humidity}%,风速:{wind_speed}m/s")
else:
return "无法获取天气信息"
通过以上步骤,你已经成功编写了一个简单的天气查询应用。你可以根据需要进一步扩展功能,例如添加图形界面、支持多语言等。希望这个教程对你有所帮助,祝你编程愉快!
« 上一篇
Python自动化测试入门教程
下一篇 »
Python实现简易推荐系统