我想在一分钟的确切开始时间运行程序(例如:1:30:00、1:20:00、1:19:00 [小时,分钟,秒])还有很多类似的问题,但是它们没有将程序链接到定义的时间的情况,而不仅仅是60秒的间隔。其他解决方案使用其他语言。有没有解决此问题的python解决方案?
答案 0 :(得分:1)
有几个可用选项。这是我所知道的三个:
sched
包来构建自己的解决方案。
schedule
的第三方程序包,具有您请求的定期功能:https://schedule.readthedocs.io/en/stable/ 请注意,前两个库本质上不是多线程的。我不确定如果作业阻塞主线程并与下一次计划运行重叠,会发生什么情况。您需要为此查阅文档,或确保所有作业都以非阻塞方式运行。
答案 1 :(得分:1)
然后我想您能做的最好的就是在这里结合答案: Python threading.timer - repeat function every 'n' seconds
但是根据当前时间更改等待条件:
from datetime import datetime
now = datetime.now()
current_time = now.strftime("%H:%M:%S")
print("Current Time =", current_time)
在创建线程时,计算要执行多少时间。 然后应该在几毫秒的精度内从指定的时间开始。
欢呼