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构建Hopfield网络的教程
Apr 14 Python
Java中重定向输出流实现用文件记录程序日志
Jun 12 Python
Python脚本实时处理log文件的方法
Nov 21 Python
老生常谈python函数参数的区别(必看篇)
May 29 Python
python实现随机森林random forest的原理及方法
Dec 21 Python
Windows下Anaconda的安装和简单使用方法
Jan 04 Python
Python使用re模块实现信息筛选的方法
Apr 29 Python
pyqt5 comboBox获得下标、文本和事件选中函数的方法
Jun 14 Python
解决pycharm运行程序出现卡住scanning files to index索引的问题
Jun 27 Python
浅谈python 中类属性共享的问题
Jul 02 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
Nov 19 Python
python用pip install时安装失败的一系列问题及解决方法
Feb 24 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
Java中final关键字详解
2015/08/10 PHP
如何利用PHP实现上传图片功能详解
2020/09/24 PHP
jquery随意添加移除html的实现代码
2011/06/21 Javascript
jquery 实现密码框的显示与隐藏示例代码
2013/09/18 Javascript
String.prototype实现的一些javascript函数介绍
2013/11/22 Javascript
js中判断对象是否为空的三种实现方法
2013/12/23 Javascript
JS+CSS实现六级网站导航主菜单效果
2015/09/28 Javascript
Nodejs获取网络数据并生成Excel表格
2020/03/31 NodeJs
JavaScript职责链模式概述
2016/09/17 Javascript
js初始化验证实例详解
2016/11/26 Javascript
lhgcalendar时间插件限制只能选择三个月的实现方法
2017/07/03 Javascript
jQuery ajax读取本地json文件的实例
2017/10/31 jQuery
12条写出高质量JS代码的方法
2018/01/07 Javascript
wxPython窗口的继承机制实例分析
2014/09/28 Python
Python优先队列实现方法示例
2017/09/21 Python
1分钟快速生成用于网页内容提取的xslt
2018/02/23 Python
Python3.6连接Oracle数据库的方法详解
2018/05/18 Python
python实现txt文件格式转换为arff格式
2018/05/31 Python
Python3常见函数range()用法详解
2019/12/30 Python
windows python3安装Jupyter Notebooks教程
2020/04/13 Python
windows支持哪个版本的python
2020/07/03 Python
python3中TQDM库安装及使用详解
2020/11/18 Python
Python爬取某平台短视频的方法
2021/02/08 Python
css3 transform及原生js实现鼠标拖动3D立方体旋转
2016/06/20 HTML / CSS
HTML5进阶段内联标签汇总(小篇)
2016/07/13 HTML / CSS
金讯Java笔试题目
2013/06/18 面试题
代码中finally中的代码会不会执行
2012/02/06 面试题
初三学习决心书
2014/03/11 职场文书
职务说明书范文
2014/05/07 职场文书
幼儿教师师德承诺书
2014/05/23 职场文书
驾驶员安全责任书范本
2014/07/24 职场文书
办公室岗位职责
2015/02/04 职场文书
高中生思想道德自我评价
2015/03/09 职场文书
植树节新闻稿
2015/07/17 职场文书
班主任培训研修日志
2015/11/13 职场文书
使用golang编写一个并发工作队列
2021/05/08 Golang