Python如何实现定时器功能

 更新时间:2020年05月28日 15:39:40   投稿:laozhang  
在本篇文章里小编给大家分享的是关于Python中的简单定时器实例及代码,需要的朋友们可以学习下。

Timer: 隔一定时间调用一个函数,如果想实现每隔一段时间就调用一个函数的话,就要在Timer调用的函数中,再次设置Timer。Timer是Thread的一个派生类

python中的线程提供了java线程功能的子集。

#!/usr/bin/env python
from threading import Timer
import time
timer_interval=1
def delayrun():
 print 'running'
t=Timer(timer_interval,delayrun)
t.start()
while True:
 time.sleep(0.1)
 print 'main running'

t是一个Timer对象。delay一秒钟之后执行delayrun函数。

其中time.sleep函数是用来让主线程暂停一点时间再继续执行。

实例扩展:

Python3定时器任务代码

import time
import sys
import signal
import datetime
import threading
#定时器
def schedule_update():
  t = threading.Timer(0, event_func)
  t.setDaemon(True)
  t.start()
#执行函数
def event_func():
  now_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
  print(now_time)
  exec_update()
  #update_openvas_dbs_from_cache()
  interval_time = delay_time()
  t = threading.Timer(interval_time, event_func)
  t.setDaemon(True)
  t.start()
#取时间点
def delay_time():
  # now time
  now_time = datetime.datetime.now()
  # tomorrow time
  next_time = now_time + datetime.timedelta(days=+1)
  next_year = next_time.date().year
  next_month = next_time.date().month
  next_day = next_time.date().day
  # get tomorrow 00:00
  next_time = datetime.datetime.strptime(str(next_year)+"-"+str(next_month)+"-"+str(next_day)+" 00:00:00", "%Y-%m-%d %H:%M:%S")
  # get secondes
  delay_time = (next_time - now_time).total_seconds()
  return delay_time
def quit_sys(signum, frame):
  sys.exit()
#接收C
if __name__ == "__main__":
  try:
    signal.signal(signal.SIGINT, quit_sys)
    signal.signal(signal.SIGTERM, quit_sys)
    schedule_update()
    print("schedule_update server starting up...\nHit Ctrl-C to quit.\n")
    while 1:
      time.sleep(1)
  except Exception as e:
    print(e)

到此这篇关于Python如何实现定时器功能的文章就介绍到这了,更多相关Python中的简单定时器实例内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python的ORM框架中SQLAlchemy库的查询操作的教程

    Python的ORM框架中SQLAlchemy库的查询操作的教程

    这篇文章主要介绍了Python的ORM框架中SQLAlchemy库的查询操作的教程,SQLAlchemy用来操作数据库十分方便,需要的朋友可以参考下
    2015-04-04
  • PyTorch 使用torchvision进行图片数据增广

    PyTorch 使用torchvision进行图片数据增广

    本文主要介绍了PyTorch 使用torchvision进行图片数据增广,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • 深入掌握Python模块创建导入和使用

    深入掌握Python模块创建导入和使用

    这篇文章主要为大家介绍了深入掌握Python模块创建导入和使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • python操作excel让工作自动化

    python操作excel让工作自动化

    这篇文章主要为大家详细介绍了python如何操作excel让工作自动化,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • Pyecharts图表交互功能的实现

    Pyecharts图表交互功能的实现

    本文主要介绍了Pyecharts图表交互功能的实现,提升数据可视化的用户体验,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-01-01
  • python实现使用遗传算法进行图片拟合

    python实现使用遗传算法进行图片拟合

    最近做项目需要图像拟合,本文主要介绍了python实现使用遗传算法进行图片拟合,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Python Tkinter之事件处理详解

    Python Tkinter之事件处理详解

    事件处理,是 GUI 程序中不可或缺的重要组成部分,相比来说,控件只是组成一台机器的零部件。本文我们将对 Tkinter 中的事件处理机制做详细的介绍,需要的可以参考一下
    2022-01-01
  • python实现红包裂变算法

    python实现红包裂变算法

    这篇文章主要介绍了python实现红包裂变算法的相关资料,需要的朋友可以参考下
    2016-02-02
  • python计算机视觉opencv矩形轮廓顶点位置确定

    python计算机视觉opencv矩形轮廓顶点位置确定

    这篇文章主要为大家介绍了python计算机视觉opencv矩形轮廓顶点位置确定,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • 如何基于线程池提升request模块效率

    如何基于线程池提升request模块效率

    这篇文章主要介绍了如何基于线程池提升request模块效率,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04

最新评论