python定时器
前言:
作者:神的孩子在歌唱
大家好,我叫智
时间间隔计算器:https://www.zuhedaikuan.com/date/shijianjiange.aspx
最近在做项目(本项目时用django编写的)的时候有一个需求是定时清除项目中产生的文件,由于时间可以更新,所以定时器在时间更新时也需要更新,那么如何操作定时器的开关呢。
import threading
TIMER = None
ncount = 0
def timer_fun():
global TIMER
global ncount
print("hellow word")
ncount += 1
print("定时器执行%d次" % (ncount))
# 继续添加定时器,周期执行,否则只会执行一次
TIMER = threading.Timer(6, timer_fun)
TIMER.start()
def F(i):
print(i)
global TIMER
if TIMER is not None:
# 如果是启动的,那么我们需要重启
if TIMER.is_alive():
TIMER.cancel()
print("结束")
# 参数:第一个是定时器时间间隔,第二个是定时器函数
TIMER = threading.Timer(i, timer_fun)
TIMER.start()
if __name__ == '__main__': # 主方法
# 通过while循环实现方法调用定时器修改启动时间的目的
i = 5
while i > 0:
i = i - 1;
F(i)
print("神的还在都在歌唱")
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
运行效果
如果想定时异步调用:
def asynca(f):
def wrapper(*args, **kwargs):
thr = threading.Thread(target=f, args=args, kwargs=kwargs)
thr.start()
return wrapper
@asynca
def timer_fun():
global TIMER
global ncount
print("hellow word")
ncount += 1
print("定时器执行%d次" % (ncount))
# 继续添加定时器,周期执行,否则只会执行一次
TIMER = threading.Timer(6, timer_fun)
TIMER.start()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
参考文章
Python Timer定时器:控制函数在特定时间执行:http://c.biancheng.net/view/2629.html
基于Python实现简单的定时器详解:http://www.cppcns.com/jiaoben/python/447113.html
python3定时异步调用:https://blog.csdn.net/bushiyao_/article/details/124804655
python定时函数使用:https://blog.csdn.net/u010835747/article/details/119831321
python下timer定时器常用的两种实现方法:https://blog.csdn.net/qdPython/article/details/118573709
本人csdn博客:https://blog.csdn.net/weixin_46654114
转载说明:跟我说明,务必注明来源,附带本人博客连接。
文章来源: chenyunzhi.blog.csdn.net,作者:神的孩子都在歌唱,版权归原作者所有,如需转载,请联系作者。
原文链接:chenyunzhi.blog.csdn.net/article/details/125640482
- 点赞
- 收藏
- 关注作者
评论(0)