您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關怎么在python中設置定時器每天執行一次,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
Python是一種編程語言,內置了許多有效的工具,Python幾乎無所不能,該語言通俗易懂、容易入門、功能強大,在許多領域中都有廣泛的應用,例如最熱門的大數據分析,人工智能,Web開發等。
1.實現功能
編寫python腳本一直運行,判斷當下是否是新的一天,如果是就執行一次任務代碼
2.具體實現代碼
#-*-coding:utf-8 -*- __author__ = 'Administrator' import os,threading,time curTime=time.strftime("%Y-%M-%D",time.localtime())#記錄當前時間 execF=False ncount=0 def execTask(): #具體任務執行內容 print("execTask executed!") def timerTask(): global execF global curTime global ncount if execF is False: execTask()#判斷任務是否執行過,沒有執行就執行 execF=True else:#任務執行過,判斷時間是否新的一天。如果是就執行任務 desTime=time.strftime("%Y-%M-%D",time.localtime()) if desTime > curTime: execF = False#任務執行執行置值為 curTime=desTime ncount = ncount+1 timer = threading.Timer(5,timerTask) timer.start() print("定時器執行%d次"%(ncount)) if __name__=="__main__": timer = threading.Timer(5,timerTask) timer.start()
使用Python 執行具體任務執行
知識點擴展:
Python: 定時器(Timer)簡單實現
項目分析中發現有網站下載過程中需要發送心跳指令,復習下定時器,其與javascript中實現方法類似。
其原理為執行函數中置定時函數Timer(),遞歸調用自己,看來實現方法比較拙劣。
假定1秒觸發一次,并置結束條件為15秒:
import threading import time exec_count = 0 def heart_beat(): print time.strftime('%Y-%m-%d %H:%M:%S') global exec_count exec_count += 1 # 15秒后停止定時器 if exec_count < 15: threading.Timer(1, heart_beat).start() heart_beat()
另一種判斷方式:
import threading import time cancel_tmr = False def heart_beat(): print time.strftime('%Y-%m-%d %H:%M:%S') if not cancel_tmr: threading.Timer(1, heart_beat).start() heart_beat() # 15秒后停止定時器 time.sleep(15) cancel_tmr = True
看完上述內容,你們對怎么在python中設置定時器每天執行一次有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。