下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

简单实现python定时器

作者:课课家教育     来源: http://www.kokojia.com点击数:1028发布时间: 2016-01-06 18:57:24

标签: python

大神带你学编程,欢迎选课

  下面介绍以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()

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程