python 定時(shí)器每天就執(zhí)行一次的實(shí)現(xiàn)代碼
1.實(shí)現(xiàn)功能
編寫(xiě)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)方法類(lèi)似。
其原理為執(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)文章
Pandas時(shí)間序列重采樣(resample)方法中closed、label的作用詳解
這篇文章主要介紹了Pandas時(shí)間序列重采樣(resample)方法中closed、label的作用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
Python的面向?qū)ο缶幊谭绞綄W(xué)習(xí)筆記
Python深度具備面向?qū)ο缶幊陶Z(yǔ)言所應(yīng)有的特性,這里我們以類(lèi)和方法為主,來(lái)整理一下Python的面向?qū)ο缶幊谭绞綄W(xué)習(xí)筆記:2016-07-07
Python實(shí)現(xiàn)詞云圖詞頻統(tǒng)計(jì)
這篇文章主要為大家詳細(xì)介紹了Python數(shù)據(jù)分析中的詞頻統(tǒng)計(jì)和詞云圖可視化,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定的幫助,需要的可以參考一下2022-12-12
親測(cè)解決tensorflow和keras版本不匹配的問(wèn)題
這篇文章主要介紹了親測(cè)解決tensorflow和keras版本不匹配問(wèn)題,完美解決:ImportError: No module named 'tensorflow.python.eager'問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
一步步教你用python的scrapy編寫(xiě)一個(gè)爬蟲(chóng)
這篇文章主要給大家介紹了如何利用python的scrapy編寫(xiě)一個(gè)爬蟲(chóng)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用scrapy具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
Win10+python3.6+git運(yùn)行出現(xiàn)問(wèn)題的解決
這篇文章主要介紹了Win10+python3.6+git運(yùn)行出現(xiàn)問(wèn)題的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
用Python做個(gè)個(gè)性的動(dòng)畫(huà)掛件讓桌面不單調(diào)
這篇文章主要介紹了如何用Python做個(gè)個(gè)性的動(dòng)畫(huà)掛件,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08
keras tensorflow 實(shí)現(xiàn)在python下多進(jìn)程運(yùn)行
今天小編就為大家分享一篇keras tensorflow 實(shí)現(xiàn)在python下多進(jìn)程運(yùn)行,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02

