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

 更新时间:2019年08月14日 15:32:51   作者:五木夕  
这篇文章主要介绍了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 定时器每天就执行一次的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • Pandas时间序列重采样(resample)方法中closed、label的作用详解

    Pandas时间序列重采样(resample)方法中closed、label的作用详解

    这篇文章主要介绍了Pandas时间序列重采样(resample)方法中closed、label的作用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • python安装twisted的问题解析

    python安装twisted的问题解析

    我们在这篇文章中给大家详细整理了python安装twisted时遇到的问题以及解决方法,有需要的朋友们参考下。
    2018-08-08
  • Python的面向对象编程方式学习笔记

    Python的面向对象编程方式学习笔记

    Python深度具备面向对象编程语言所应有的特性,这里我们以类和方法为主,来整理一下Python的面向对象编程方式学习笔记:
    2016-07-07
  • 在Python中COM口的调用方法

    在Python中COM口的调用方法

    今天小编就为大家分享一篇在Python中COM口的调用方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Python实现词云图词频统计

    Python实现词云图词频统计

    这篇文章主要为大家详细介绍了Python数据分析中的词频统计和词云图可视化,文中的示例代码讲解详细,对我们学习Python有一定的帮助,需要的可以参考一下
    2022-12-12
  • 亲测解决tensorflow和keras版本不匹配的问题

    亲测解决tensorflow和keras版本不匹配的问题

    这篇文章主要介绍了亲测解决tensorflow和keras版本不匹配问题,完美解决:ImportError: No module named 'tensorflow.python.eager'问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • 一步步教你用python的scrapy编写一个爬虫

    一步步教你用python的scrapy编写一个爬虫

    这篇文章主要给大家介绍了如何利用python的scrapy编写一个爬虫的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用scrapy具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • Win10+python3.6+git运行出现问题的解决

    Win10+python3.6+git运行出现问题的解决

    这篇文章主要介绍了Win10+python3.6+git运行出现问题的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 用Python做个个性的动画挂件让桌面不单调

    用Python做个个性的动画挂件让桌面不单调

    这篇文章主要介绍了如何用Python做个个性的动画挂件,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • keras tensorflow 实现在python下多进程运行

    keras tensorflow 实现在python下多进程运行

    今天小编就为大家分享一篇keras tensorflow 实现在python下多进程运行,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02

最新评论