导语:
本文主要介绍了关于Python Timer定时器:控制函数在特定时间执行的相关知识,希望可以帮到处于编程学习途中的小伙伴
Thread类有一个Timer子类,该子类可用于控制指定函数在特定时间内执行一次。例如如下程序:
from threading import Timer
def hello():
print("hello, world")
# 指定10秒后执行hello函数
t = Timer(10.0, hello)
t.start()
上面程序使用 Timer 控制 10s 后执行 hello 函数。
需要注意的是,Timer 控制功能只能在规定时间内执行一次。如果要使用 Timer 控制功能重复执行,则需要执行下一次调度。
如果程序要取消Timer的调度,可以调用Timer对象的cancel()函数。例如下面的程序每1s输出一次当前时间:
from threading import Timer
import time
# 定义总共输出几次的计数器
count = 0
def print_time():
print("当前时间:%s" % time.ctime())
global t, count
count += 1
# 如果count小于10,开始下一次调度
if count < 10:
t = Timer(1, print_time)
t.start()
# 指定1秒后执行print_time函数
t = Timer(1, print_time)
t.start()
上面程序开始运行后,程序控制 1s 后执行 print_time() 函数。print_time() 函数中的代码会进行判断,如果 count 小于 10,程序再次使用 Timer 调度 1s 后执行 print_time() 函数,这样就可以控制 print_time() 函数多次重复执行。
在上面程序中,由于只有当 count 小于 10 时才会使用 Timer 调度 1s 后执行 print_time() 函数,因此该函数只会重复执行 10 次。
本文为原创文章,版权归知行编程网所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ 如何在python中表示一个空集08/27
- ♥ python为什么要定义类12/11
- ♥ 如何为python中的变量分配随机数08/30
- ♥ 如何解决python导入模块错误11/06
- ♥ python2.7不能写txt的解决办法11/28
- ♥ Python 删除前导或尾随字符串01/05
内容反馈