您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# 如何用基于Python的命令行查天气预报
在数字化时代,通过命令行工具快速获取天气预报不仅能提升效率,还能为开发者提供灵活的集成方案。本文将介绍如何用Python构建一个简单的命令行天气预报查询工具。
## 一、准备工作
### 1. 注册天气API
推荐使用免费天气API服务:
- [OpenWeatherMap](https://openweathermap.org/)(免费版支持每分钟60次请求)
- [和风天气](https://dev.qweather.com/)(中文友好)
注册后获取API Key(示例以OpenWeatherMap为例)。
### 2. 安装依赖库
```bash
pip install requests python-dotenv
API_KEY=your_openweathermap_api_key
import os
import argparse
import requests
from dotenv import load_dotenv
load_dotenv()
def get_weather(city, units='metric'):
API_KEY = os.getenv('API_KEY')
base_url = "http://api.openweathermap.org/data/2.5/weather"
params = {
'q': city,
'appid': API_KEY,
'units': units
}
try:
response = requests.get(base_url, params=params)
data = response.json()
if response.status_code == 200:
return {
'city': data['name'],
'temp': data['main']['temp'],
'humidity': data['main']['humidity'],
'description': data['weather'][0]['description']
}
else:
return {'error': data['message']}
except Exception as e:
return {'error': str(e)}
if __name__ == "__main__":
parser = argparse.ArgumentParser(description='查询城市天气')
parser.add_argument('city', help='城市名称(如:Beijing)')
parser.add_argument('-u', '--units', choices=['metric', 'imperial'],
default='metric', help='温度单位(metric=摄氏,imperial=华氏)')
args = parser.parse_args()
weather = get_weather(args.city, args.units)
if 'error' in weather:
print(f"错误: {weather['error']}")
else:
print(f"""
{weather['city']}天气:
温度: {weather['temp']}{'°C' if args.units == 'metric' else '°F'}
湿度: {weather['humidity']}%
状况: {weather['description']}
""")
python weather.py Beijing
python weather.py NewYork --units imperial
Beijing天气:
温度: 25°C
湿度: 60%
状况: 晴
forecast
端点matplotlib
绘制温度曲线通过这个不到100行的Python脚本,我们实现了一个实用的命令行天气工具。开发者可以进一步将其打包为可执行文件(如用PyInstaller),或集成到其他自动化流程中。
提示:完整代码已上传至GitHub示例仓库(示例链接) “`
这篇文章包含: - 清晰的步骤分解 - 可直接运行的代码示例 - 实用的参数化设计 - 安全注意事项 - 扩展建议 符合技术文档的markdown规范,代码块和段落层次分明。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。