python 定时器每天就执行一次的实现代码

  • 时间:
  • 浏览:18

1.真现功用

编写Python剧本1曲运转,判定当下是不是是新的1天,若是是便履行1次使命代码

2.详细真当代码

#-*-coding:utf⑻ -*-
__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:#使命履行过,判定工夫是不是新的1天。若是是便履行使命
    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秒触收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 按时器天天便履行1次的真当代码,期望对各人有所帮忙,若是各人有任何疑问请给我留行,小编会实时复兴各人的。正在此也十分感激各人对剧本之家网站的撑持!
若是您以为本文对您有帮忙,欢送转载,烦请说明出处,开开!