Python定时器
来源:互联网 发布:lol徐老师淘宝店地址 编辑:程序博客网 时间:2024/05/22 03:13
根据网上内容收集整理,主要参考Python邮件列表:
http://mail.python.org/pipermail/tutor/2004-November/033333.html。
实现定时器最简单的办法是就是循环中间嵌time.sleep(seconds),这里我就不赘述了
下面介绍以threading模块来实现定时器的方法。
使用前先做一个简单试验:
import threading
def sayhello():
print "hello world"
global t #Notice: use global variable!
t = threading.Timer(5.0, sayhello)
t.start()
t = threading.Timer(5.0, sayhello)
t.start()
运行结果如下
>python hello.py
hello world
hello world
hello world
下面是定时器类的实现:
class Timer(threading.Thread):
"""
very simple but useless timer.
"""
def __init__(self, seconds):
self.runTime = seconds
threading.Thread.__init__(self)
def run(self):
time.sleep(self.runTime)
print "Buzzzz!! Time's up!"
class CountDownTimer(Timer):
"""
a timer that can counts down the seconds.
"""
def run(self):
counter = self.runTime
for sec in range(self.runTime):
print counter
time.sleep(1.0)
counter -= 1
print "Done"
class CountDownExec(CountDownTimer):
"""
a timer that execute an action at the end of the timer run.
"""
def __init__(self, seconds, action, args=[]):
self.args = args
self.action = action
CountDownTimer.__init__(self, seconds)
def run(self):
CountDownTimer.run(self)
self.action(self.args)
def myAction(args=[]):
print "Performing my action with args:"
print args
if __name__ == "__main__":
t = CountDownExec(3, myAction, ["hello", "world"])
t.start()
以上代码在Python 2.5.4中运行通过
- Python定时器
- python 定时器
- python定时器
- Python定时器
- Python 定时器
- python 定时器
- python 定时器
- python定时器
- python定时器
- Python 定时器
- python 定时器
- Python定时器
- Python定时器
- Python定时器
- python 应用crontab 定时器
- Python 定时器 timer
- Python 定时器 timer
- python编程(定时器)
- Visual Library 2.0 - Examples
- 传送文件
- 关于前台模糊查询处理实例
- 基于Tomcat5.0和Axis2开发Web Service应用实例
- 基于Tomcat5.0和Axis2开发Web Service代码详解
- Python定时器
- Distributed Transaction Coordinator 服务因 3221229584 (0xC0001010) 服务性错误而停止 解决办法
- 使用Axis2来构建Web Service客户端
- 接口java.io.Serializable的用处 (全面搜集总结)
- Gnome快捷键
- Delphi经典执行DOS并返回结果代码(收集的)
- 使用Axis2的底层API开发Web Service
- DSP 基础问答
- Apache Commons-logging使用实例