从 pyowm 天气数据构造一个字符串

问题描述

尝试使用 pyowm 编写基本的天气程序。

import pyowm

owm = pyowm.OWM('MY_API_KEY')
mgr = owm.weather_manager()
observation = mgr.weather_at_place('Birmingham,uk')
w = observation.weather
temperature = w.temperature('celsius')

print(temperature)

我希望这能以一种简单的方式输出,但可惜,没有运气。这是当前的输出

{'temp': 3.75,'temp_max': 4.44,'temp_min': 2.0,'feels_like': 0.22,'temp_kf': None}

有没有什么简单的方法可以从这些数据中构建一个字符串?就像是 Temp = 3.75 Feels_Like = 0.22

解决方法

您可以使用 fstring 从给定的输出中生成所需的字符串:

temperature = {'temp': 3.75,'temp_max': 4.44,'temp_min': 2.0,'feels_like': 0.22,'temp_kf': None}
str1 = f"Temp = {temperature['temp']}" 
str2 = f"Feels_Like = {temperature['feels_like']}"
print(str1,str2)

输出:Temp = 3.75 Feels_Like = 0.22

如果你只需要 print 作为给定的输出字符串,你可以在一行中完成:

print(f"Temp = {temperature['temp']} Feels_Like = {temperature['feels_like']}")
,

您的输出是字典类型。您可以根据这些值构建一个格式化的字符串:

temperature={'temp': 3.75,'temp_kf': None}
outputString="Temp = {0} Feels_Like = {1}".format(temperature["temp"],temperature["feels_like"])
print(outputString)

输出:

'Temp = 3.75 Feels_Like = 0.22'