python 定時(shí)器每天就執(zhí)行一次的實(shí)現(xiàn)代碼
1.實(shí)現(xiàn)功能
編寫python腳本一直運(yùn)行,判斷當(dāng)下是否是新的一天,如果是就執(zhí)行一次任務(wù)代碼
2.具體實(shí)現(xiàn)代碼
#-*-coding:utf-8 -*-
__author__ = 'Administrator'
import os,threading,time
curTime=time.strftime("%Y-%M-%D",time.localtime())#記錄當(dāng)前時(shí)間
execF=False
ncount=0
def execTask():
#具體任務(wù)執(zhí)行內(nèi)容
print("execTask executed!")
def timerTask():
global execF
global curTime
global ncount
if execF is False:
execTask()#判斷任務(wù)是否執(zhí)行過(guò),沒(méi)有執(zhí)行就執(zhí)行
execF=True
else:#任務(wù)執(zhí)行過(guò),判斷時(shí)間是否新的一天。如果是就執(zhí)行任務(wù)
desTime=time.strftime("%Y-%M-%D",time.localtime())
if desTime > curTime:
execF = False#任務(wù)執(zhí)行執(zhí)行置值為
curTime=desTime
ncount = ncount+1
timer = threading.Timer(5,timerTask)
timer.start()
print("定時(shí)器執(zhí)行%d次"%(ncount))
if __name__=="__main__":
timer = threading.Timer(5,timerTask)
timer.start()
使用Python 執(zhí)行具體任務(wù)執(zhí)行
知識(shí)點(diǎn)擴(kuò)展:
Python: 定時(shí)器(Timer)簡(jiǎn)單實(shí)現(xiàn)
項(xiàng)目分析中發(fā)現(xiàn)有網(wǎng)站下載過(guò)程中需要發(fā)送心跳指令,復(fù)習(xí)下定時(shí)器,其與javascript中實(shí)現(xiàn)方法類似。
其原理為執(zhí)行函數(shù)中置定時(shí)函數(shù)Timer(),遞歸調(diào)用自己,看來(lái)實(shí)現(xiàn)方法比較拙劣。
假定1秒觸發(fā)一次,并置結(jié)束條件為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秒后停止定時(shí)器
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秒后停止定時(shí)器
time.sleep(15)
cancel_tmr = True
總結(jié)
以上所述是小編給大家介紹的python 定時(shí)器每天就執(zhí)行一次的實(shí)現(xiàn)代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
Python 使用PIL中的resize進(jìn)行縮放的實(shí)例講解
今天小編就為大家分享一篇Python 使用PIL中的resize進(jìn)行縮放的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
Pytorch用Tensorboard來(lái)觀察數(shù)據(jù)
這篇文章主要介紹了Pytorch用Tensorboard來(lái)觀察數(shù)據(jù),上一篇文章我們講解了關(guān)于Pytorch?Dataset的數(shù)據(jù)處理,這篇我們就來(lái)講解觀察數(shù)據(jù),下面具體相關(guān)資料,需要的朋友可以參考一下,希望對(duì)你有所幫助2021-12-12
Windows系統(tǒng)配置python腳本開(kāi)機(jī)啟動(dòng)的3種方法分享
這篇文章主要介紹了Windows系統(tǒng)配置python腳本開(kāi)機(jī)啟動(dòng)的3種方法分享,本文講解了開(kāi)始菜單啟動(dòng)項(xiàng)實(shí)現(xiàn)、開(kāi)機(jī)腳本、通過(guò)一個(gè)服務(wù)調(diào)用該腳本三種方法,需要的朋友可以參考下2015-03-03
使用python爬取4K壁紙保存到本地文件夾的全過(guò)程
圖片信息豐富多彩,許多網(wǎng)站上都有大量精美的圖片資源,有時(shí)候我們可能需要批量下載這些圖片,而手動(dòng)一個(gè)個(gè)下載顯然效率太低,所以本文給大家介紹了使用python爬取4K壁紙保存到本地文件夾的全過(guò)程,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下2024-03-03
Python開(kāi)發(fā)之利用re模塊去除代碼塊注釋
Python的re模塊主要是正則表達(dá)式的操作函數(shù),下面這篇文章主要給大家介紹了關(guān)于Python開(kāi)發(fā)之利用re模塊去除代碼塊注釋的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11
如何使用Typora+MinIO+Python代碼打造舒適協(xié)作環(huán)境
這篇文章主要介紹了如何使用Typora+MinIO+Python代碼打造舒適協(xié)作環(huán)境,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05

