我正在尝试扩展我正在编写的天气脚本的功能。目前,它旨在根据用户的输入显示JSON输出中的当前天气。
response = requests.get('http://api.openweathermap.org/data/2.5/weather')
weather
是生成当前天气数据的正确网址,但我还想生成3天或5天的天气预报,但会根据用户输入。
我一直在使用argparse
一点用于用户数据,但我正在考虑这样的事情来决定是否应该在字符串末尾使用weather
或forecast
parser.add_argument("-data", help="current weather or 5 day")
但我遇到的麻烦是根据输入决定的逻辑,一个人是决定当前天气还是五天预测,我将如何做到这一点。
我应该在我的函数中使用某种try语句来确定要添加的字符串,或者是什么?
答案 0 :(得分:0)
我查看了http://openweathermap.org/api,在看到网址后,我不清楚问题是什么。当前天气的网址以weather?q={parameters}
结尾,而forcast的网址以forcast?q={parameters}
结尾。
在我看来,您正在寻找的是一个可以告诉您要查询哪个URL的选项。
为什么不在argparse
--forcast
中设置选项,如果该选项由用户设置,则查询forcast
网址。假设您默认查询weather
网址。
答案 1 :(得分:0)
您应该查看openweathermap.org
的文档,了解如何在网址中指定此选项。从那里你必须决定你自己的用户将如何指定选项并编写代码,将程序的输入转换为正确的URL。如果您使用命令行参数,那么您只需解析参数并使用if
语句来创建URL。