Python 自动更新功能

我正在为一个项目编写这段代码,我有这个类从 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 函数,但我没有找到解释我的案例的问题。如果有人可以回答或向我指出解释的地方,我将不胜感激。谢谢


慕森王
浏览 203回答 3
3回答

翻翻过去那场雪

一般来说,没有魔法发生。如果您需要当前数据,则需要获取它。您可以选择多种条件来触发“数据更新”,例如,如果您正在以某种形式或按计划处理数据。如果在您的用例中每小时获取当前温度就足够了,那么听起来某种形式的 cron 作业可以解决您的问题。cron 作业的全部意义在于按预设计划执行任务。结帐维基百科。也许来自 Aaron_ab 的链接(How do I get a Cron like scheduler in Python?)最适合您的场景。或者看看Celery Beat。如果您不需要您的应用程序一直运行,最好在您的操作系统上使用 cron 并让它在需要时执行您的应用程序。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python