优草派  >   Python

python中定时器的实现方式有哪些?利用python实现定时程序的方法

翟嘉慧            来源:优草派

不管是在大程序还是小程序的任务布置中,我们需要某一任务自己执行时,就会选择给它设置固定的时间,这时候定时器的作用就显现出来了。在python中有很多实现定时的方法,本篇要介绍的是Timer和APScheduler,文章中详细的介绍了使用方法,一起来看看吧。

python中定时器的实现方式有哪些?利用python实现定时程序的方法

一、定时器的概念

在一个程序中,想要让它在规定的时间内去执行一些相关的操作时,这个时候就可以利用到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中的定时器,希望可以帮助到大家。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行