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同时兼容python2和python3的8个技巧分享
Jul 11 Python
django创建自定义模板处理器的实例详解
Aug 14 Python
Python抓取聚划算商品分析页面获取商品信息并以XML格式保存到本地
Feb 23 Python
python中in在list和dict中查找效率的对比分析
May 04 Python
python os用法总结
Jun 08 Python
python递归实现快速排序
Aug 18 Python
python并发和异步编程实例
Nov 15 Python
解决pyCharm中 module 调用失败的问题
Feb 12 Python
keras 使用Lambda 快速新建层 添加多个参数操作
Jun 10 Python
python调用摄像头的示例代码
Sep 28 Python
一文带你掌握Pyecharts地理数据可视化的方法
Feb 06 Python
python如何正确使用yield
May 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
Terran兵种介绍
2020/03/14 星际争霸
php中判断字符串是否全是中文或含有中文的实现代码
2011/09/16 PHP
注册页面之前先验证用户名是否存在的php代码
2012/07/14 PHP
PHP数据库链接类(PDO+Access)实例分享
2013/12/05 PHP
PHP获得数组交集与差集的方法
2015/06/10 PHP
PHP Callable强制指定回调类型的方法
2016/08/30 PHP
Jquery Change与bind事件代码
2011/09/29 Javascript
nodejs开发微博实例
2015/03/25 NodeJs
js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解
2016/04/01 Javascript
vuejs父子组件通信的问题
2017/01/11 Javascript
JS高仿抛物线加入购物车特效实现代码
2017/02/20 Javascript
完美解决spring websocket自动断开连接再创建引发的问题
2017/03/02 Javascript
npm国内镜像 安装失败的几种解决方案
2017/06/04 Javascript
详解angular部署到iis出现404解决方案
2018/08/14 Javascript
js实现3D照片墙效果
2019/10/28 Javascript
nodejs使用socket5进行代理请求的实现
2020/02/21 NodeJs
javascript设计模式 ? 适配器模式原理与应用实例分析
2020/04/13 Javascript
python网络编程学习笔记(四):域名系统
2014/06/09 Python
python创建进程fork用法
2015/06/04 Python
Linux下将Python的Django项目部署到Apache服务器
2015/12/24 Python
Python 使用SMTP发送邮件的代码小结
2016/09/21 Python
Python中标准模块importlib详解
2017/04/16 Python
django API 中接口的互相调用实例
2020/04/01 Python
python中format函数如何使用
2020/06/22 Python
美国领先的男士和女士内衣购物网站:Freshpair
2019/02/25 全球购物
浅谈react路由传参的几种方式
2021/03/23 Javascript
生物化工专业个人自荐信
2013/09/26 职场文书
总经理任命书
2014/03/29 职场文书
《桃林那间小木屋》教学反思
2014/05/01 职场文书
社区文艺活动方案
2014/08/19 职场文书
八项规定对照检查材料
2014/08/31 职场文书
2014年幼儿园教师工作总结
2014/11/08 职场文书
大学开学典礼新闻稿
2015/07/17 职场文书
Canvas跟随鼠标炫彩小球的实现
2021/04/11 Javascript
Java实现简易的分词器功能
2021/06/15 Java/Android
SpringBoot使用AOP实现统计全局接口访问次数详解
2022/06/16 Java/Android