On Mon, Oct 6, 2008 at 2:07 PM, Petr Jakes <[EMAIL PROTECTED]> wrote: > I have infinitive loop running script and I would like to check > something periodically after 5 seconds (minutes, hours...) time period > (I do not mean time.sleep(5) ). Till now, I have following script, but > I think there must be something more elegant.
Take a look at the sched module. http://www.python.org/doc/2.5.2/lib/module-sched.html > eventFlag = False > while 1: > time.sleep(0.01) > seconds = time.time() > if not int(seconds % (5)): > if eventFlag: > print "5 seconds, hurray" > eventFlag = False > else: > eventFlag = True Using sched, I think you would re-write this as: import sched, time s=sched.scheduler(time.time, time.sleep) def do_event(): print "5 seconds, hurray!" s.enter(5, 1, do_event, ()) s.enter(5, 1, do_event, ()) s.run() That will run do_event() after five seconds, and then do_event() puts itself back in the queue to be executed in another 5 seconds. -- Jerry -- http://mail.python.org/mailman/listinfo/python-list