在安排大小程序任务时,当我们需要执行某个任务时,我们会选择为它设定固定的时间,然后显示定时器的作用。在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()
以上就是Python中定时器的实现方法,一般来说,人们会使用它timer函数更多。当然,如果你感兴趣,也可以尝试框架的方法。