每1秒执行一次功能

时间:2010-07-23 07:45:15

标签: python timer

  

可能重复:
  Python timer countdown

大家好,

我想知道Python中的计时器。

假设我有一个代码片段,如:

def abc()
   print 'Hi'  
   print 'Hello'
   print 'Hai'

我想每1秒打印一次。最多三次;即;第一秒我需要检查printf,第二秒我需要在第3秒检查。

在我的实际代码变量值中将会更新。 我需要捕获所有变量在何时更新。

有人能告诉我怎么做。

2 个答案:

答案 0 :(得分:3)

您可以使用while循环,使用time模块time.sleep等待一秒,然后time.clock知道您打印变量的时间。

答案 1 :(得分:2)

如果您可以使用标准库中的sched模块,则可以看到:

  

sched模块定义了一个实现通用事件调度程序的类。

>>> import sched, time
>>> s = sched.scheduler(time.time, time.sleep)
>>> def print_time(): print "From print_time", time.time()
...
>>> def print_some_times():
...     print time.time()
...     s.enter(5, 1, print_time, ())
...     s.enter(10, 1, print_time, ())
...     s.run()
...     print time.time()
...
>>> print_some_times()
930343690.257
From print_time 930343695.274
From print_time 930343700.273
930343700.276