Python执行X秒的函数

时间:2010-06-13 16:30:08

标签: python

我正在寻找一种方法让函数根据它执行的时间来执行操作。例如,我的函数会连续循环直到5秒钟,在这种情况下它会立即返回。有什么建议吗?

2 个答案:

答案 0 :(得分:5)

你看过time.clock()吗?

  

time.clock()

     

在Unix上,将当前处理器时间返回为以秒为单位的浮点数。精确度,实际上是“处理器时间”含义的定义,取决于同名C函数的精度,但无论如何,这是用于对Python或时序算法进行基准测试的函数。 p>      

在Windows上,此函数返回自第一次调用此函数以来经过的挂钟秒,作为浮点数,基于Win32函数QueryPerformanceCounter()。分辨率通常优于1微秒。

使用'time.clock()'来测量Windows上的时间:

>>> import time
>>> def measure():
...     t0 = time.clock()
...     time.sleep(3)
...     return time.clock() - t0
... 
>>> measure()
2.9976609581514113
>>> 

答案 1 :(得分:4)

另一种选择是使用signal.alarm()和适当的信号处理程序,记录在http://docs.python.org/library/signal.html。这种方法的一个特别优点是不必每次循环都检查时间,这可能会为小而紧密的循环增加显着的开销。