您的当前位置:首页正文

python中定时器的实现方式

2024-08-01 来源:化拓教育网

在进行大小的程序任务布置时,我们需要某一任务自己执行时,会选择给它设置固定的时间,这时候定时器的作用就显现出来了。在python中有很多实现定时的方法,本篇要介绍的是Timer和APScheduler,前者是一种函数,后者是框架。下面就python中定时器实现的两种方法带来详细介绍。

1.Timer

threading 模块中的Timer是一个非阻塞函数,比sleep好一点,不过依然无法固定时间执行。

from datetime import datetime
from threading import Timer
 
 
# 打印时间函数
def print_time(inc):
    print(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
    """
    Timer的参数说明
    inc:表示时间间隔
    print_time:执行的函数
    (inc,):传递给执行函数的参数
    """
    t = Timer(inc, print_time, (inc,))
    t.start()
 
 
print_time(2)

2.APScheduler

APScheduler是一个Python定时任务框架,使用起来十分方便。提供了基于日期,固定时间间隔及crontab类型的任务,并且可以持久化任务,并以daemon方式运行应用。

from apscheduler.schedulers.blocking import BlockingScheduler
from datetime import datetime
 
 
def job():
    print(datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
 
 
if __name__ == "__main__":
    scheduler = BlockingScheduler()
    scheduler.add_job(job, 'interval', seconds=5)
    scheduler.start()

以上就是python中定时器的实现方式,一般来说大家会使用timer函数多一些。当然框架的方法,大家感兴趣的话也可以多加尝试一下。