python中定时器的实现方式

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

1.Timer

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

fromdatetimeimportdatetime
fromthreadingimportTimer


#打印时间函数
defprint_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方式运行应用。

fromapscheduler.schedulers.blockingimportBlockingScheduler
fromdatetimeimportdatetime


defjob():
print(datetime.now().strftime('%Y-%m-%d%H:%M:%S'))


if__name__=="__main__":
scheduler=BlockingScheduler()
scheduler.add_job(job,'interval',seconds=5)
scheduler.start()

发表回复