【发布时间】:2013-05-22 08:37:03
【问题描述】:
如何在 Python 中的某个特定时间点调用函数?
例如:
import time
def foo():
print time.time()
start_time = time.time()
expected_time_to_run_foo = start_time + 12.3456
#invoke foo
如何让函数foo打印给定值expected_time_to_run_foo?
P.S.:我不确定time.sleep() 是否有效。我需要更精确。
【问题讨论】:
-
比
time.sleep(12.3456)?更精确。除非你有一个实时操作系统,否则你获得它的准确度会有限制——当然不会低到 100 微秒。 -
是的。因为
foo在print之前可能需要时间自己运行,所以恐怕time.sleep()不够精确。 -
查看这里了解更多信息:stackoverflow.com/questions/1938048/…
-
我会看看一些基于事件的库(celery、gevent),它们比睡眠更可靠。但我怀疑会找到比秒更精确的东西。
-
所以安排调用使用 start_time 作为绝对参考