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定时器的主要内容,如果未能解决你的问题,请参考以下文章

NodeJs的一次实用(定时抓取数据)

WINFORM如何关闭主窗口?

那位高手帮我写一个linux shell脚本,是关于定时删除/**/**/**的数据,只保留180天的数据

为啥我的stm32 的tim3 1ms中断时间不准

我写了一个java程序(有main函数的那种),我现在想让这个程序每天定时在服务器自动运行 ,望高手指点

Python 线程定时器 Timer