用Python編寫簡單的定時器的方法
更新時間:2015年05月02日 15:11:43 作者:PandaraWen
這篇文章主要介紹了用Python編寫簡單的定時器的方法,主要用到了Python中的threading模塊,需要的朋友可以參考下
下面介紹以threading模塊來實現(xiàn)定時器的方法。
首先介紹一個最簡單實現(xiàn):
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()
不清楚在某些特殊應用場景下有什么缺陷否。
下面是所要介紹的定時器類的實現(xiàn):
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腳本提取Abaqus場輸出數(shù)據的代碼
這篇文章主要介紹了利用python腳本提取Abaqus場輸出數(shù)據,利用python腳本對Abaqus進行數(shù)據提取時,要對python腳本做前步的導入處理,本文通過實例代碼詳細講解需要的朋友可以參考下2022-11-11Python中多進程處理的Process和Pool的用法詳解
在Python編程中,多進程是一種強大的并行處理技術,Python提供了兩種主要的多進程處理方式:Process和Pool,本文將詳細介紹這兩種方式的使用,希望對大家有所幫助2024-02-02