python中定時(shí)器的實(shí)現(xiàn)方式
在進(jìn)行大小的程序任務(wù)布置時(shí),我們需要某一任務(wù)自己執(zhí)行時(shí),會(huì)選擇給它設(shè)置固定的時(shí)間,這時(shí)候定時(shí)器的作用就顯現(xiàn)出來(lái)了。在python中有很多實(shí)現(xiàn)定時(shí)的方法,本篇要介紹的是Timer和APScheduler,前者是一種函數(shù),后者是框架。下面就python中定時(shí)器實(shí)現(xiàn)的兩種方法帶來(lái)詳細(xì)介紹。
1.Timer
threading模塊中的Timer是一個(gè)非阻塞函數(shù),比sleep好一點(diǎn),不過(guò)依然無(wú)法固定時(shí)間執(zhí)行。
fromdatetimeimportdatetime
fromthreadingimportTimer
#打印時(shí)間函數(shù)
defprint_time(inc):
print(datetime.now().strftime("%Y-%m-%d%H:%M:%S"))
"""
Timer的參數(shù)說(shuō)明
inc:表示時(shí)間間隔
print_time:執(zhí)行的函數(shù)
(inc,):傳遞給執(zhí)行函數(shù)的參數(shù)
"""
t=Timer(inc,print_time,(inc,))
t.start()
print_time(2)
2.APScheduler
APScheduler是一個(gè)Python定時(shí)任務(wù)框架,使用起來(lái)十分方便。提供了基于日期,固定時(shí)間間隔及crontab類型的任務(wù),并且可以持久化任務(wù),并以daemon方式運(yùn)行應(yīng)用。
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中定時(shí)器的實(shí)現(xiàn)方式,一般來(lái)說(shuō)大家會(huì)使用timer函數(shù)多一些。當(dāng)然框架的方法,大家感興趣的話也可以多加嘗試一下。更多Python學(xué)習(xí)教程請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。