命令行输入"weather 城市名"即可查询天气相关信息。
运用天气API读取相关JSON内天气信息。
天气API及用到的_city.json可参见https://www.sojson.com/blog/305.html
import json , requests , sys
jsonWeather=open(r"C:\shell\_city.json",'r',encoding='utf-8')
jsonread=json.load(jsonWeather)
if(len(sys.argv)<2):
print("weather loaction")
sys.exit()
sname=" ".join(sys.argv[1:])
scode=""
for s in jsonread:
if(sname==s["city_name"]):
scode=s["city_code"]
url=r"http://t.weather.sojson.com/api/weather/city/"+scode
response=requests.get(url)
response.raise_for_status()
weatherData=json.loads(response.text)
w=weatherData["data"]
print(w["wendu"])
print("明日最"+w["forecast"][0]["high"])
print("明日最"+w["forecast"][0]["low"])
print("明日天气:"+w["forecast"][0]["type"])