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 相关文章推荐
使用C语言来扩展Python程序和Zope服务器的教程
Apr 14 Python
python根据日期返回星期几的方法
Jul 06 Python
Django框架下在视图中使用模版的方法
Jul 16 Python
Python获取暗黑破坏神3战网前1000命位玩家的英雄技能统计
Jul 04 Python
python好玩的项目—色情图片识别代码分享
Nov 07 Python
对python抓取需要登录网站数据的方法详解
May 21 Python
Numpy array数据的增、删、改、查实例
Jun 04 Python
如何用Python合并lmdb文件
Jul 02 Python
可能是最全面的 Python 字符串拼接总结【收藏】
Jul 09 Python
Django1.11配合uni-app发起微信支付的实现
Oct 12 Python
PyCharm 在Windows的有用快捷键详解
Apr 07 Python
Python爬虫+Tkinter制作一个翻译软件的示例
Feb 20 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中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
2011/05/04 PHP
解析thinkphp的左右值无限分类
2013/06/20 PHP
Laravel框架Eloquent ORM删除数据操作示例
2019/12/03 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
PHP 对象继承原理与简单用法示例
2020/04/21 PHP
Javascript获取窗口(容器)的大小及位置参数列举及简要说明
2012/12/09 Javascript
深入理解JavaScript系列(50):Function模式(下篇)
2015/03/04 Javascript
js实现获取两个日期之间所有日期的方法
2016/06/17 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
2016/10/21 Javascript
JS函数多个参数默认值指定方法分析
2016/11/28 Javascript
Angular使用$http.jsonp发送跨站请求的方法
2017/03/16 Javascript
Django使用多数据库的方法
2017/09/06 Javascript
Node.js学习之TCP/IP数据通讯(实例讲解)
2017/10/11 Javascript
jQuery实现的简单无刷新评论功能示例
2017/11/08 jQuery
LayerClose弹窗关闭刷新方法
2018/08/17 Javascript
ES6知识点整理之模块化的应用详解
2019/04/15 Javascript
Vue按时间段查询数据组件使用详解
2020/08/21 Javascript
Vue+Element自定义纵向表格表头教程
2020/10/26 Javascript
[50:28]LGD女子学院第三期 DOTA2复仇之魂教学
2013/12/24 DOTA
Python简单爬虫导出CSV文件的实例讲解
2018/07/06 Python
Python enumerate函数功能与用法示例
2019/03/01 Python
浅谈python标准库--functools.partial
2019/03/13 Python
python并发编程多进程 模拟抢票实现过程
2019/08/20 Python
Python根据服务获取端口号的方法
2019/09/25 Python
Python使用enumerate获取迭代元素下标
2020/02/03 Python
三只松鼠官方旗舰店:全网坚果销售第1
2017/11/25 全球购物
俄罗斯有趣和原创礼物网上商店:MagicMag
2019/08/01 全球购物
西部世纪.net笔试题面试题
2014/04/03 面试题
经济管理专业毕业生自荐信范文
2014/01/02 职场文书
《维生素c的故事》教学反思
2014/02/18 职场文书
人资专员岗位职责
2014/04/04 职场文书
小区门卫的岗位职责
2014/09/26 职场文书
八项规定整改方案
2014/10/01 职场文书
遗愿清单观后感
2015/06/09 职场文书
法定代表人身份证明书
2015/06/18 职场文书
担保书格式范文
2015/09/22 职场文书