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抓取网页图片并放到指定文件夹
Apr 24 Python
Python如何筛选序列中的元素的方法实现
Jul 15 Python
python GUI图形化编程wxpython的使用
Jul 19 Python
简单了解Python读取大文件代码实例
Dec 18 Python
将python文件打包exe独立运行程序方法详解
Feb 12 Python
如何基于windows实现python定时爬虫
May 01 Python
基于Python第三方插件实现西游记章节标注汉语拼音的方法
May 22 Python
python爬虫中PhantomJS加载页面的实例方法
Nov 12 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
Nov 17 Python
用pip给python安装matplotlib库的详细教程
Feb 24 Python
python操作xlsx格式文件并读取
Jun 02 Python
python中super()函数的理解与基本使用
Aug 30 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 登录完成后如何跳转上一访问页面
2014/01/14 PHP
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
2016/05/20 PHP
php识别翻转iphone拍摄的颠倒图片
2018/05/17 PHP
javascript 进度条 实现代码
2009/07/30 Javascript
jQuery开发者都需要知道的5个小技巧
2010/01/08 Javascript
JQuery里选择超链接的实现代码
2011/05/22 Javascript
JavaScript获取FCK编辑器信息的具体方法
2013/07/12 Javascript
Javascript中的arguments与重载介绍
2015/03/15 Javascript
JavaScript实现彩虹文字效果的方法
2015/04/16 Javascript
js限制文本框只能输入中文的方法
2015/08/11 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
jQuery的Ajax用户认证和注册技术实例教程(附demo源码)
2015/12/08 Javascript
在IE8上JS实现combobox支持拼音检索功能
2016/05/23 Javascript
深入浅出讲解ES6的解构
2016/08/03 Javascript
jQuery使用DataTable实现删除数据后重新加载功能
2017/02/27 Javascript
jquery插件canvaspercent.js实现百分比圆饼效果
2017/07/18 jQuery
php main 与 iframe 相互通讯类(js+php同域/跨域)
2017/09/14 Javascript
JS处理数据四舍五入(tofixed与round的区别详解)
2017/10/26 Javascript
Vue.js用法详解
2017/11/13 Javascript
微信小程序switch组件使用详解
2018/01/31 Javascript
在 Angular-cli 中使用 simple-mock 实现前端开发 API Mock 接口数据模拟功能的方法
2018/11/28 Javascript
Python实现3行代码解简单的一元一次方程
2014/08/18 Python
利用Python如何生成随机密码
2016/04/20 Python
python批量复制图片到另一个文件夹
2018/09/17 Python
python lxml中etree的简单应用
2019/05/10 Python
Python分析彩票记录并预测中奖号码过程详解
2019/07/09 Python
python使用pymongo与MongoDB基本交互操作示例
2020/04/09 Python
Pycharm激活方法及详细教程(详细且实用)
2020/05/12 Python
中国旅游网站:同程旅游
2016/09/11 全球购物
中东最大的在线宠物店:Dubai Pet Food
2020/06/11 全球购物
2014副镇长民主生活会个人对照检查材料思想汇报
2014/09/30 职场文书
机关党员三严三实心得体会
2014/10/13 职场文书
公司承诺书格式范文
2015/04/28 职场文书
学困生帮扶工作总结
2015/08/13 职场文书
php将xml转化对象的实例详解
2021/11/17 PHP
Python中的嵌套循环详情
2022/03/23 Python