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

yipeiwu_com7年前Python基础

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 定时器每天就执行一次的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

python实现可变变量名方法详解

如果要写一个程序,让x1为1,x2为2,然后直到x100为100,你会怎么做? 在C这种静态语言里,变量名这个标识符实际上会被编译器直接翻译成内存地址,所以除了手动设置每个变量的值以外,...

Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子

Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子

根据我们指定的条件检索函数中的元素 import matplotlib.pyplot as plt import numpy as np a = np.linspace(0, 2...

Python异常对代码运行性能的影响实例解析

Python异常对代码运行性能的影响实例解析

前言 Python的异常处理能力非常强大,但是用不好也会带来负面的影响。我平时写程序的过程中也喜欢使用异常,虽然采取防御性的方式编码会更好,但是交给异常处理会起到偷懒作用。偶尔会想想异常...

PyCharm搭建Spark开发环境实现第一个pyspark程序

PyCharm搭建Spark开发环境实现第一个pyspark程序

一, PyCharm搭建Spark开发环境 Windows7, Java1.8.0_74, Scala 2.12.6, Spark 2.2.1, Hadoop2.7.6 通常情况下,Sp...

Python打包可执行文件的方法详解

本文实例讲述了Python打包可执行文件的方法。分享给大家供大家参考,具体如下: Python程序需要依赖本机安装的Python库,若想在没有安装Python的机器上运行,则需要打包分发...