每秒执行一次函数

-1 投票
2 回答
1897 浏览
提问于 2025-04-16 01:43

可能重复的问题:
Python 倒计时器

大家好,

我想了解一下 Python 中的计时器。

假设我有一段代码,类似于:

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

我想每隔 1 秒打印一次,最多打印三次;也就是说,第一秒我需要检查一下打印的内容,第二秒也要检查,第三秒同样要检查。

在我的实际代码中,变量的值会被更新。我需要记录下每一秒所有变量是如何更新的。

有没有人能告诉我该怎么做?

2 个回答

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
3

你可以使用一个循环,叫做“while循环”,然后用一个叫做time的模块。这个模块里有个功能time.sleep,可以让程序暂停一秒钟。还有一个功能time.clock,可以告诉你在什么时间打印你的变量。

撰写回答