我不知道这是否可行,但是我希望我的函数每小时精确运行一次,例如,如果我运行程序16:23我希望我的函数初始运行,那么下一次运行恰好是17 :00,下一次执行是18:00,依此类推。
我正在使用Tkinter在显示屏上显示一些信息,而我想每小时运行一次的函数是:
api_address = "https://api.hgbrasil.com/weather?woeid=455839"
update_frequency = 10800000 #3H in milisegundos
def url_renova():
global json_data
global sunrise
global sunset
json_data = requests.get(api_address).json()
sunrise = json_data['results']['sunrise']
sunset = json_data['results']['sunset']
sitesunrise.set(sunrise) #Go to a StrinVar and go to a Entry Widget
sitesunset.set(sunset)
sitesunriseEntry.after(update_frequency, url_renova)
我已经尝试按日程安排,但是没有成功,虽然没有用。感谢您的关注。
答案 0 :(得分:3)
您可以轻松计算到小时数剩余的时间。有很多方法可以做到这一点。我想我只是修改time.time()的结果,就像这样:
import time
# ...
wait_time = -int(time.time()* 1000) % 3_600_000
sitesunriseEntry.after(wait_time, url_renova)