简单实现python定时器

    作者:课课家教育更新于: 2016-01-06 18:57:24

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

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

课课家教育

未登录