python定时器
Posted 神的孩子都在歌唱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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("神的还在都在歌唱")
运行效果
如果想定时异步调用:
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()
参考文章
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
转载说明:跟我说明,务必注明来源,附带本人博客连接。
以上是关于python定时器的主要内容,如果未能解决你的问题,请参考以下文章
那位高手帮我写一个linux shell脚本,是关于定时删除/**/**/**的数据,只保留180天的数据