Python Timer剩余时间

TX *_*X T 3 python timer

如何从Python Timer对象计算剩余时间。

timer = Timer(10, print, ("expiry"))
timer.start()
...
Run Code Online (Sandbox Code Playgroud)

从这里,我如何找出计时器到期之前还剩下什么时间?

Jor*_*ley 5

只需在启动线程Timer时设置一个值

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

您可以随时制作自己的计时器课程

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())
Run Code Online (Sandbox Code Playgroud)

  • 这有效。我希望 Timer 中有一个属性,我可以使用它而无需自己保存开始时间。 (3认同)