不管是在大程序还是小程序的任务布置中,我们需要某一任务自己执行时,就会选择给它设置固定的时间,这时候定时器的作用就显现出来了。在python中有很多实现定时的方法,本篇要介绍的是Timer和APScheduler,文章中详细的介绍了使用方法,一起来看看吧。
一、定时器的概念
在一个程序中,想要让它在规定的时间内去执行一些相关的操作时,这个时候就可以利用到Python中的定时器了,不管是在哪一种编程语言中,定时器都是存在的,在实际的应用中,我们经常会使用到定时器去触发某些事件,Python中所实现定时的方式有很多种,今天介绍的两种,一种是函数另一种是一个框架,分别是:Timer和APScheduler。具体的操作如下:
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")) t = Timer(inc, print_time, (inc,)) t.start() print_time(2)
在使用之前,我们需要导入要用到的threading模块,在函数的使用中,它有三个参数:inc参数设置的是时间的间隔,第二个 print_time参数,是一个需要执行的函数;最后的 (inc,)是一个要传递给执行函数的参数。
2、APScheduler定时器
刚才的介绍中,说它是一个框架,在Python中它就是一个定时任务框架,在使用的时候非常的方便,不仅提供了日期,还可以设置固定的间隔时间,并且还可以持久化任务,最后使用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中定时器的实现方式有哪些?利用python实现定时程序的方法的文章就分享到这里了,文章中一共介绍了两种Python中的定时器,希望可以帮助到大家。