python定时器的小例子

发布时间:2020-04-14编辑:脚本学堂
分享一个Python编写简单的定时器代码,使用Python threading模块实现的定时器,包括一个简单型的定时器,以及一个复杂点的python定时器类。

python threading模块实现简单的定时器。

1、最简单的python定时器代码。

复制代码 代码示例:
import threading
 
def say_sth(str):
  print str
  t = threading.Timer(2.0, say_sth,[str])
  t.start()
 
if __name__ == '__main__':
  timer = threading.Timer(2.0,say_sth,['i am here too.'])
  timer.start()

2、python定时器类
 

复制代码 代码示例:
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()