2

これは信じられないほど簡単かもしれませんが、y と z の間の x 分ごとに Python コードをループさせるにはどうすればよいでしょうか?

たとえば、スクリプトを真夜中 (00:00) から午後 10 時 (22:00) まで 5 分ごとにループして実行したい場合。

4

1 に答える 1

7

標準ライブラリの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 分ごとに実行し、一定の時間に停止するには、もう少し作業を行う必要があります。

于 2013-06-02T02:24:16.063 に答える