2017-08-24 150 views
1

如何計算Python Timer對象的剩餘時間。Python定時器剩餘時間

timer = Timer(10, print, ("expiry")) 
timer.start() 
... 

從這裏,我該如何找出定時器過期之前的剩餘時間?

回答

3

剛剛設置的值,當你啓動線程定時器

timer = Timer(10, print, ("expiry")) 
.... 
start_time = time.time() 
timer.start() 
time.sleep(3) 
.... 
print ("Running for : %s seconds"%(time.time()-start_time)) 

你總是可以使自己的定時器類

class MyTimer(threading._Timer): 
    started_at = None 
    def start(self): 
     self.started_at = time.time() 
     threading._Timer.start(self) 
    def elapsed(self): 
     return time.time() - self.started_at 
    def remaining(self): 
     return self.interval - self.elapsed() 


timer = MyTimer(10, print, ("expiry")) 
timer.start() 

for i in range(5): 
    time.sleep(1) 
    print (timer.remaining()) 
+0

這工作。我希望Timer中有一個屬性,我可以使用它,而不需要自己保存開始時間。 –

+0

@TXT請參閱編輯... –