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


Posted in Python onAugust 14, 2019

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解决鸡兔同笼问题的方法
Dec 20 Python
在Python的循环体中使用else语句的方法
Mar 30 Python
Python中用format函数格式化字符串的用法
Apr 08 Python
Python实现k-means算法
Feb 23 Python
python使用Tesseract库识别验证
Mar 21 Python
selenium+python截图不成功的解决方法
Jan 30 Python
python基础梳理(一)(推荐)
Apr 06 Python
python字符串和常用数据结构知识总结
May 21 Python
Django之模板层的实现代码
Sep 09 Python
wxpython多线程防假死与线程间传递消息实例详解
Dec 13 Python
Python 的 f-string 可以连接字符串与数字的原因解析
Feb 20 Python
Python matplotlib多个子图绘制整合
Apr 13 Python
Django 项目重命名的实现步骤解析
Aug 14 #Python
Django如何实现网站注册用户邮箱验证功能
Aug 14 #Python
python 叠加等边三角形的绘制的实现
Aug 14 #Python
Django为窗体加上防机器人的验证码功能过程解析
Aug 14 #Python
Python 利用高德地图api实现经纬度与地址的批量转换
Aug 14 #Python
Django如何使用第三方服务发送电子邮件
Aug 14 #Python
Python3 chardet模块查看编码格式的例子
Aug 14 #Python
You might like
PHP初学者头疼问题总结
2006/10/09 PHP
PHP仿博客园 个人博客(2) 数据库增添改删
2013/07/05 PHP
php运行提示:Fatal error Allowed memory size内存不足的解决方法
2014/12/17 PHP
php metaphone()函数及php localeconv() 函数实例解析
2016/05/15 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
2019/10/16 PHP
快速保存网页中所有图片的方法
2006/06/23 Javascript
运算符&amp;&amp;的三个不同层次
2013/04/07 Javascript
Node.js异步I/O学习笔记
2014/11/04 Javascript
jQuery中:text选择器用法实例
2015/01/03 Javascript
js实现带圆角的两级导航菜单效果代码
2015/08/24 Javascript
js中window.open的参数及注意注意事项
2016/07/06 Javascript
bootstrap导航、选项卡实现代码
2016/12/28 Javascript
Vue自定义指令拖拽功能示例
2017/02/17 Javascript
JS查找英文文章中出现频率最高的单词
2017/03/20 Javascript
微信小程序实现图片轮播及文件上传
2017/04/07 Javascript
详解Vue学习笔记进阶篇之列表过渡及其他
2017/07/17 Javascript
IntersectionObserver实现图片懒加载的示例
2017/09/29 Javascript
微信小程序五子棋游戏的悔棋实现方法【附demo源码下载】
2019/02/20 Javascript
微信小程序静默登录的实现代码
2020/01/08 Javascript
阿望教你用vue写扫雷小游戏
2020/01/20 Javascript
JS面向对象编程基础篇(二) 封装操作实例详解
2020/03/03 Javascript
在Python中使用poplib模块收取邮件的教程
2015/04/29 Python
简介Python设计模式中的代理模式与模板方法模式编程
2016/02/02 Python
浅谈python和C语言混编的几种方式(推荐)
2017/09/27 Python
详解如何用python实现一个简单下载器的服务端和客户端
2019/10/28 Python
Python大数据之从网页上爬取数据的方法详解
2019/11/16 Python
Python sklearn中的.fit与.predict的用法说明
2020/06/28 Python
Python tkinter制作单机五子棋游戏
2020/09/14 Python
详解CSS3新增的背景属性
2019/12/25 HTML / CSS
营销人才自我鉴定范文
2013/12/25 职场文书
在校大学生个人的自我评价
2014/02/13 职场文书
征婚广告词
2014/03/17 职场文书
大学生入党积极分子自我评价
2014/09/20 职场文书
2015年社区重阳节活动总结
2015/07/30 职场文书
Python编程super应用场景及示例解析
2021/10/05 Python
windows server 2016 域环境搭建的方法步骤(图文)
2022/06/25 Servers