我正在为一个项目编写这段代码,我有这个类从 OWM 解析天气。我本节的代码如下所示:class Meteo(): def __init__(self): self.API = pyowm.OWM('My API Key', config_module=None, language='it', subscription_type=None) self.location = self.API.weather_at_place('Rome,IT') self.weatherdata = self.location.get_weather() self.weather = str(self.weatherdata.get_detailed_status()) def Temperature(self): self.tempvalue = self.weatherdata.get_temperature('celsius') temperature = str(self.tempvalue.get('temp')) return temperature问题当然是,通过在下午 2 点运行程序,它是 20°C,到凌晨 2 点它仍然会显示相同的温度,因为(显然)它保持它在启动时解析的温度。我在网上搜索了自动更新 python 函数,但我没有找到解释我的案例的问题。如果有人可以回答或向我指出解释的地方,我将不胜感激。谢谢
3 回答
翻翻过去那场雪
TA贡献2065条经验 获得超14个赞
一般来说,没有魔法发生。如果您需要当前数据,则需要获取它。
您可以选择多种条件来触发“数据更新”,例如,如果您正在以某种形式或按计划处理数据。
如果在您的用例中每小时获取当前温度就足够了,那么听起来某种形式的 cron 作业可以解决您的问题。cron 作业的全部意义在于按预设计划执行任务。结帐维基百科。
也许来自 Aaron_ab 的链接(How do I get a Cron like scheduler in Python?)最适合您的场景。或者看看Celery Beat。
如果您不需要您的应用程序一直运行,最好在您的操作系统上使用 cron 并让它在需要时执行您的应用程序。
添加回答
举报
0/150
提交
取消