这可能非常简单,但是如何让 python 代码在时间 y 和 z 之间每 x 分钟循环一次?
例如,如果我希望我的脚本在午夜 (00:00) 到晚上 10 点 (22:00) 之间运行,每 5 分钟循环一次。
试试标准库中的sched模块。下面是一个每秒调用一次函数的示例,从未来 5 秒开始,在未来 10 秒结束:
from sched import scheduler
from time import time, sleep
s = scheduler(time, sleep)
def run_periodically(start, end, interval, func):
event_time = start
while event_time < end:
s.enterabs(event_time, 0, func, ())
event_time += interval
s.run()
if __name__ == '__main__':
def say_hello():
print 'hello'
run_periodically(time()+5, time()+10, 1, say_hello)
或者,您可以使用threading.Timer,但您需要做更多的工作才能让它在给定时间启动,每五分钟运行一次,并在固定时间停止。