python使用线程封装的一个简单定时器类实例

yipeiwu_com6年前Python基础

本文实例讲述了python使用线程封装的一个简单定时器类。分享给大家供大家参考。具体实现方法如下:

from threading import Timer
class MyTimer:
 def __init__(self):
 self._timer= None
 self._tm = None
 self._fn = None
 def _do_func(self):
 if self._fn:
  self._fn()
  self._do_start()
 def _do_start(self):
 self._timer = Timer(self._tm, self._do_func)
 self._timer.start()
 def start(self, tm, fn):
 self._fn = fn
 self._tm = tm
 self._do_start()
 def stop(self):
 try:
  self._timer.cancel()
 except:
  pass
def hello():
 from datetime import datetime
 print("hello world!", datetime.now())
if __name__ == '__main__':
 mt = MyTimer()
 mt.start(2, hello)
 for i in range(10):
 import time
 time.sleep(1)
 mt.stop()

希望本文所述对大家的Python程序设计有所帮助。

相关文章

python自动分箱,计算woe,iv的实例代码

python自动分箱,计算woe,iv的实例代码

笔者之前用R开发评分卡时,需要进行分箱计算woe及iv值,采用的R包是smbinning,它可以自动进行分箱。近期换用python开发, 也想实现自动分箱功能,找到了一个woe包,地址h...

python自动化工具之pywinauto实例详解

本文实例为大家分享了python自动化工具pywinauto,供大家参考,具体内容如下 一、win环境应用自动化 1.浏览器中下载 2.在cmd下启动:python get-pip.py...

python logging模块书写日志以及日志分割详解

python logging模块书写日志以及日志分割详解

本文范例是书写两个日志:错误日志(ERROR级别)和运行日志(DEBUG级别),其中运行日志每日凌晨进行分割 import logging,datetime,logging.hand...

python批量修改文件编码格式的方法

本文实例为大家分享了python批量修改文件编码格式的具体代码,供大家参考,具体内容如下 使用说明: 1、使用工具:Python2.7.6+chardet2.3.0,chardet2....

用实例详解Python中的Django框架中prefetch_related()函数对数据库查询的优化

用实例详解Python中的Django框架中prefetch_related()函数对数据库查询的优化

实例的背景说明 假定一个个人信息系统,需要记录系统中各个人的故乡、居住地、以及到过的城市。数据库设计如下: Models.py 内容如下:   from django...