python timer 死掉_Python定时事件 Timer sched
我们经常需要定时的执行某一个任务,在C/C++ 等语言中我们可以使用定时器,但是在Python中,标准库给我们提供了两种方式Timer和Sched。
先说sched模块,准确的说,它是一个调度(延时处理机制),每次想要定时执行某任务都必须写入一个调度。使用步骤如下:
1. 生成调度器
s = sched.scheduler(time.time,time.sleep)
第一个参数是一个可以返回时间戳的函数,第二个参数是指未达到定时时间时阻塞函数。
2. 加入调度事件
其实有enter、enterabs等等
s.enter(a,b,c,d);
四个参数分别为:间隔事件、优先级(用于同时间到达的两个事件同时执行时定序)、被调用触发的函数,给他的参数
3. 运行调度器
s.run()
然而:sched模块不是循环的,一次调度被执行后就结束了,如果想再执行,需要再次enter。
1 #!/usr/bin/env python
2 #-*- coding:utf-8 -*-
3 from threading importTimer4 importsched5
6 #第一个参数是一个可以返回时间戳的函数,第二个参数可以在定时未到达之前阻塞。
7 schedule=sched.scheduler(time.time,time.sleep)8
9 #被周期性调度触发的函数
10 defexecute_command(cmd, inc):11 os.system(cmd)12 #schedule.enter(inc, 0, execute_command, (cmd, inc))
13
14 def main(cmd, inc=60):15 #enter四个参数分别为:间隔事件、优先级(用于同时间到达的两个事件同时执行时定序)、被调用触发的函数,
16 #给该触发函数的参数(tuple形式)
17 schedule.enter(0, 0, execute_command, (cmd, inc))18 schedule.run()19
20 main("netstat -anp | grep tcp", 60)
注意:1. 如果以上函数只能执行一次,如果需要多次循环执行,需要再执行函数中再次enter。2. 如果执行函数只需要一个参数,输入时以(param1,)形式,逗号需要。如果不需要参数则,只需要()即可。
再来说Timer。
Timer类,也不是默认循环调用的,如果需要循环调用,方法与Sched类似,多次start。
Timer类的使用方法如下
1 #!/usr/bin/env python
2 #-*- coding:utf-8 -*-
3 from threading importTimer4
5 defprint_time():6 print "Current time is :", time.time()7 Timer(5,print_time,()).start()8
9 defprint_sometime():10 Timer(5,print_time,()).start()11
12 print_sometime()
View Code
另外,关于timer 和Sched的官方解释为:https://docs.python.org/2/library/sched.html
python timer 死掉_Python定时事件 Timer sched相关推荐
- python timer 死掉_Python timer定时器两种常用方法解析 Python中如何在一段时间后停止程序...
如何调用定时器 python 如何在python里面for循环中放了一个定时函数,当定# 我的构想程序效果 for Img in ImgArray: timer = threading.Timer(1 ...
- python timer怎么用_python定时器(Timer)用法简单实例
python定时器(Timer)用法简单实例 本文实例讲述了python定时器(Timer)用法.分享给大家供大家参考.具体如下: # encoding: UTF-8 import threading ...
- python重复执行函数_Python threading 单线程 timer重复调用函数
项目中需要使用定时器,每次都使用构造器函数调用: timer = threading.Timer(timerFlag, upload_position) timer.start() 打印线程后发现,每 ...
- python timer详解_python线程定时器Timer实现原理解析
这篇文章主要介绍了python线程定时器Timer实现原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.线程定时器Timer原理 原理比较 ...
- python 定时器实现原理_python线程定时器Timer实现原理解析
这篇文章主要介绍了python线程定时器Timer实现原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.线程定时器Timer原理 原理比较 ...
- python修改桌面壁纸_python定时更换桌面壁纸
介绍 python基于selenium2中的webdriver以及pywin32模块,定时从指定网站随机下载壁纸,然后更新桌面壁纸的实现. 代码 首先定义一个基于selenium的webdriver的 ...
- python数据分析天气预报论文_Python定时发送天气预报邮件
用python爬虫爬到的天气预报,使用smtplib和email模块可以发送到邮箱,使用schedule模块可以定时发送.以下是代码- #导入模块 import requests from bs4 i ...
- python怎么跑数据_python定时重跑获取数据
做大数据的童鞋经常会写定时任务跑数据,由于任务之间的依赖(一般都是下游依赖上游的数据产出),所以经常会导致数据获取失败,因为很多人发现数据失败后 都会去查看日志,然后手动去执行自己的任务.下面我实现了 ...
- Nginx的定时事件的实现(timer)
在前面的文章里面就说到了在事件循环中除了要处理所有的从epoll中获取的事件之外,还要处理一些timer事件,这篇文章就讲讲Nginx的timer是如何实现的. 在讲Nginx的实现之前,我们可以先回 ...
最新文章
- pythonfor循环遍历list_为什么for循环可以遍历list:Python中迭代器与生成器
- 测试用例设计怎么做?怎么设计一个好的测试用例?
- mysql脚本文件长什么样_在linux下执行mysql脚本文件,内容是创建一个FUNCTION,总是报错,请帮看下原因是什么?多谢...
- 英语语法---从句总结
- 关于使用DataGrid的ButtonColumn,动态添加DataGrid列,实现不定列n个文件的下载功能...
- 实现一个正则表达式引擎in Python(一)
- 分类数据显示功能_缓存优化
- iPhone 12 要来了,手机是时候换到 11 了
- python语言通过import_python语言的引入(import)机制简述
- 62.不同的路径(力扣leetcode) 博主可答疑该问题
- MATLAB滑动窗口(移动方差)
- 【备战NOIP】专题复习1-动态规划-背包问题
- 百度智能云BCC云服务器释放实例
- Android手机哪个悬浮好用,别羡慕苹果了,安卓悬浮神器比 iPhone 好用太多!
- linux tar 压缩 删除源文件,Linux tar 如何在压缩之后删除原文件
- 单例模式-DoubleCheck
- 学会这十五招,斗地主想输都难
- 服务器cpu性能最大值,服务器cpu性能排行
- Plist文件、NSBundle
- 敏捷开发培训后的感想
热门文章
- C#基础知识1-深入理解值类型和引用类型
- c语言 数组循环左移m位
- 【JAVA 第三章 流程控制语句】课后习题 找零钱
- Nexus9刷机全纪录
- 【网站建设】简单一行代码,为网站开启深色模式支持
- C#LeetCode刷题之#257-二叉树的所有路径(Binary Tree Paths)
- python lxml使用_使用lxml和Python进行Web抓取的简介
- node 后台文章编辑器_我如何使用Node从报纸网站上刮掉7000篇文章
- iphone 2x 3x_iPhone X的未来:从现实到荒诞
- JavaScript正在完善—解释