Python Timer 类使用介绍
计时器是一个用于测量时间间隔的工具。Python 的标准库提供了 Timer 类来方便我们进行时间相关的操作。本文将详细介绍 Timer 类的使用。
Timer 类的基本介绍
Python 的 Timer 类位于 threading
模块下,可以通过以下方式进行导入:
from threading import Timer
Timer类可以在一定时间后自动执行一个任务,Timer
类需要指定任务对象和等待时间。例如下面的代码创建了一个定时器,等待 5 秒后输出 "Hello World":
from threading import Timer
def say_hello():
print("Hello World")
t = Timer(5.0, say_hello)
t.start() # 等待 5 秒后输出 "Hello World"
代码中 Timer(5.0, say_hello)
表示创建一个 5 秒的定时器,到时间后执行 say_hello()
函数。定时器对象需要先通过 start()
方法启动,才能开始计时并执行任务。
Timer 类的应用示例
示例1:执行周期性任务
我们可以使用 Timer 类在固定时间周期内定时执行任务。例如下面的代码执行了一个每隔 5 秒钟输出一次 "Hello World" 的任务:
from threading import Timer
def hello():
print("Hello World")
global t # 重新定义进程变量
t = Timer(5.0, hello)
t.start()
t = Timer(5.0, hello)
t.start() # 每 5 秒钟输出 "Hello World"
代码中 hello()
函数在执行完毕后,再次创建一个 5 秒钟的定时器,实现了一个循环执行任务的效果。
示例2:限定任务执行时间
在一些情况下,我们需要限定任务在一定时间内执行完毕。例如下面的代码创建了一个仅允许任务执行 3 秒钟的定时器:
from threading import Timer
import time
def task():
start_time = time.time()
while True:
# 等待 1 秒钟
time.sleep(1)
print("Hello World")
# 如果执行时间大于 3 秒钟,则退出任务
if time.time() - start_time > 3:
break
t = Timer(5.0, task)
t.start() # 等待 5 秒钟执行 task()
代码中 task()
函数创建了一个 while 循环,每隔 1 秒钟输出一次 "Hello World"。当执行时间大于 3 秒钟时,退出任务。定时器会在 5 秒钟后启动 task()
函数。
这样我们就可以通过 Timer 类轻松地进行时间操作,实现各种任务定时执行的功能。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python Timer 类使用介绍 - Python技术站