为了账号安全,请及时绑定邮箱和手机立即绑定

Python 自动更新功能

Python 自动更新功能

慕森王 2021-09-14 15:31:58
我正在为一个项目编写这段代码,我有这个类从 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 并让它在需要时执行您的应用程序。


查看完整回答
反对 回复 2021-09-14
  • 3 回答
  • 0 关注
  • 202 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信