Python如何实现定时器功能


Posted in Python onMay 28, 2020

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 相关文章推荐
在Python中用keys()方法返回字典键的教程
May 21 Python
python比较两个列表大小的方法
Jul 11 Python
python xml.etree.ElementTree遍历xml所有节点实例详解
Dec 04 Python
初学python的操作难点总结(新手必看篇)
Aug 03 Python
python在非root权限下的安装方法
Jan 23 Python
Python之文字转图片方法
May 10 Python
python 多线程重启方法
Feb 18 Python
如何使用Python脚本实现文件拷贝
Nov 20 Python
Pytorch 之修改Tensor部分值方式
Dec 27 Python
Django 允许局域网中的机器访问你的主机操作
May 13 Python
python程序需要编译吗
Jun 19 Python
详解scrapy内置中间件的顺序
Sep 28 Python
python实点云分割k-means(sklearn)详解
May 28 #Python
Python脚本实现监听服务器的思路代码详解
May 28 #Python
python中Ansible模块的Playbook的具体使用
May 28 #Python
python中如何进行连乘计算
May 28 #Python
python线程池如何使用
May 28 #Python
python中前缀运算符 *和 **的用法示例详解
May 28 #Python
PHP基于phpqrcode类库生成二维码过程解析
May 28 #Python
You might like
php旋转图片90度的方法
2013/11/07 PHP
destoon利用Rewrite规则设置网站安全
2014/06/21 PHP
一个经典实用的PHP图像处理类分享
2014/11/18 PHP
CentOS6.5 编译安装lnmp环境
2014/12/21 PHP
PHP+MySQL存储数据常见中文乱码问题小结
2016/06/13 PHP
基于PHP制作验证码
2016/10/12 PHP
css3实现背景模糊的三种方式
2021/03/09 HTML / CSS
自定义ExtJS控件之下拉树和下拉表格附源码
2013/10/15 Javascript
标题过长使用javascript按字节截取字符串
2014/04/24 Javascript
js的touch事件的实际引用
2014/10/13 Javascript
jQuery获取checkboxlist的value值的方法
2015/09/27 Javascript
javascript中字体浮动效果的简单实例演示
2015/11/18 Javascript
JQuery validate 验证一个单独的表单元素实例
2017/02/17 Javascript
Google 爬虫如何抓取 JavaScript 的内容
2017/04/07 Javascript
JS面向对象编程基础篇(三) 继承操作实例详解
2020/03/03 Javascript
python任务调度实例分析
2015/05/19 Python
Python判断Abundant Number的方法
2015/06/15 Python
Python PyQt5标准对话框用法示例
2017/08/23 Python
python 简单备份文件脚本v1.0的实例
2017/11/06 Python
Python实战购物车项目的实现参考
2019/02/20 Python
django迁移数据库错误问题解决
2019/07/29 Python
python文字转语音的实例代码分析
2019/11/12 Python
python中的subprocess.Popen()使用详解
2019/12/25 Python
浅谈pytorch中的BN层的注意事项
2020/06/23 Python
详解pandas赋值失败问题解决
2020/11/29 Python
python中time tzset()函数实例用法
2021/02/18 Python
美国高档帽子网上商店:Hats.com
2018/08/09 全球购物
英国二手iPhone、音乐、电影和游戏商店:musicMagpie
2018/10/26 全球购物
安德玛比利时官网:Under Armour比利时
2019/08/28 全球购物
数百万免费的图形资源:Freepik
2020/09/21 全球购物
仓库保管员岗位职责
2013/12/20 职场文书
领导证婚人证婚词
2014/01/13 职场文书
医生爱岗敬业演讲稿
2014/08/26 职场文书
党的群众路线教育实践活动学习计划
2014/11/03 职场文书
2015年科协工作总结
2015/05/19 职场文书
python 逐步回归算法
2021/04/06 Python