python定时器

举报
神的孩子在歌唱 发表于 2022/07/07 22:56:44 2022/07/07
【摘要】 前言: 作者:神的孩子在歌唱 大家好,我叫智 时间间隔计算器:https://www.zuhedaikuan.com/date/shijianjiange.aspx 最近在做项目(本项...

前言:

作者:神的孩子在歌唱

大家好,我叫智

时间间隔计算器: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

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。