Python定时器剩余时间

问题描述:

如何计算Python Timer对象的剩余时间。Python定时器剩余时间

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

从这里,我该如何找出定时器过期之前的剩余时间?

刚刚设置的值,当你启动线程定时器

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请参阅编辑... –