これは信じられないほど簡単かもしれませんが、y と z の間の x 分ごとに Python コードをループさせるにはどうすればよいでしょうか?
たとえば、スクリプトを真夜中 (00:00) から午後 10 時 (22:00) まで 5 分ごとにループして実行したい場合。
標準ライブラリのschedモジュールを試してください。以下は、5 秒後に開始し、10 秒後に終了する、1 秒に 1 回関数を呼び出す例です。
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を使用することもできますが、特定の時間に開始し、5 分ごとに実行し、一定の時間に停止するには、もう少し作業を行う必要があります。