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 文件和路径操作函数小结
Nov 23 Python
python3实现SMTP发送邮件详细教程
Jun 19 Python
python3 实现一行输入,空格隔开的示例
Nov 14 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
Jul 18 Python
浅谈django2.0 ForeignKey参数的变化
Aug 06 Python
python3实现带多张图片、附件的邮件发送
Aug 10 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
Jan 03 Python
OpenCV Python实现拼图小游戏
Mar 23 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
Jun 29 Python
Python库安装速度过慢解决方案
Jul 14 Python
python获取淘宝服务器时间的代码示例
Apr 22 Python
使用python绘制分组对比柱状图
Apr 21 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 5.3.1 安装包 VC9 VC6不同版本的区别是什么
2010/07/04 PHP
php后台多用户权限组思路与实现程序代码分享
2012/02/13 PHP
浅谈laravel 5.6 安装 windows上使用composer的安装过程
2019/10/18 PHP
JavaScript XML实现两级级联下拉列表
2008/11/10 Javascript
Domino中运用jQuery读取视图内容的方法
2009/10/21 Javascript
JavaScript 代码压缩工具小结
2012/02/27 Javascript
JS中不为人知的五种声明Number的方式简要概述
2013/02/22 Javascript
javascript静态页面传值的三种方法分享
2013/11/12 Javascript
JS获取当前日期时间并定时刷新示例
2021/03/04 Javascript
微信小程序 开发指南详解
2016/09/27 Javascript
最实用的jQuery分页插件
2016/10/09 Javascript
Vue.js Ajax动态参数与列表显示实现方法
2016/10/20 Javascript
微信小程序 动态绑定数据及动态事件处理
2017/03/14 Javascript
Node.js中的child_process模块详解
2018/06/08 Javascript
vue实现带复选框的树形菜单
2019/05/27 Javascript
从零开始在vue-cli4配置自适应vw布局的实现
2020/06/08 Javascript
python 寻找list中最大元素对应的索引方法
2018/06/28 Python
Python 爬虫之Beautiful Soup模块使用指南
2018/07/05 Python
Django中使用第三方登录的示例代码
2018/08/20 Python
python3调用windows dos命令的例子
2019/08/14 Python
python保存log日志,实现用log日志画图
2019/12/24 Python
Django后台管理系统的图文使用教学
2020/01/20 Python
Python通过文本和图片生成词云图
2020/05/21 Python
Python 通过爬虫实现GitHub网页的模拟登录的示例代码
2020/08/17 Python
Python类绑定方法及非绑定方法实例解析
2020/10/09 Python
python Scrapy爬虫框架的使用
2021/01/21 Python
Java里面StringBuilder和StringBuffer有什么区别
2016/06/06 面试题
声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
2012/06/02 面试题
师范毕业生自荐信
2013/10/17 职场文书
土木工程专业个人求职信
2013/12/05 职场文书
关于幼儿的自我评价
2013/12/18 职场文书
教师评优事迹材料
2014/01/10 职场文书
民族团结先进个人材料
2014/02/05 职场文书
《秋游》教学反思
2014/04/24 职场文书
典型事迹材料范文
2014/12/29 职场文书
微信小程序基础教程之echart的使用
2021/06/01 Javascript