南强小屋 Design By 杰米
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,定时器
南强小屋 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
南强小屋 Design By 杰米
暂无python 定时器每天就执行一次的实现代码的评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。