我正在為一個項目編寫這段代碼,我有這個類從 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?)最適合您的場景?;蛘呖纯?a >Celery Beat。
如果您不需要您的應用程序一直運行,最好在您的操作系統上使用 cron 并讓它在需要時執行您的應用程序。
添加回答
舉報
0/150
提交
取消