Python:案例之获取天气信息并写入(函数和读写功能)
我写的代码:
import requests
def write_file(**kwargs):
"""将天气信息拼接起来,并写入到文件
格式要求:
1. 每个城市的天气占一行
2. 每行的格式为:city-北京,cityid-101010100,temp-18...
"""
# 补充代码
item = []
value = list(kwargs.values())
for it in value:
for a,b in it.items():
c = f'{a}-{b}'
item.append(c)
m = ','.join(item)
with open('weather.txt',mode='a',encoding='utf-8') as f:
f.write(m)
f.write('\n')
def get_weather(code):
""" 获取天气信息 """
url = "http://www.weather.com.cn/data/ks/{}.html".format(code)
res = requests.get(url=url)
res.encoding = "utf-8"
weather_dict = res.json()
return weather_dict
city_list = [
{'code': "101020100", 'title': "上海"},
{'code': "101010100", 'title': "北京"},
]
for i in city_list:
j = i['code']
infor = get_weather(j)
for k,v in infor.items():
write_file(k=v)
优秀的代码:
import requests
def write_file(**kwargs):
data_list = []
row_dict = kwargs["weatherinfo"]
for k, v in row_dict.items():
group = "{}-{}".format(k, v)
data_list.append(group)
row_string = ",".join(data_list)
with open('xxxx.txt', mode='a', encoding="utf-8") as file_object:
file_object.write("{}\n".format(row_string))
def get_weather(code):
url = "http://www.weather.com.cn/data/ks/{}.html".format(code)
res = requests.get(url=url)
res.encoding = "utf-8"
weather_dict = res.json()
return weather_dict
city_list = [
{'code': "101020100", 'title': "上海"},
{'code': "101010100", 'title': "北京"},
]
for item in city_list:
# 101020100
result_dict = get_weather(item["code"])
write_file(**result_dict)
浙公网安备 33010602011771号