我正在尝试在python中创建一个类似JavaScript的setInterval函数,但我现在对如何创建类似的clearInterval感到难过。
def setInterval(func, sec):
def inner_function():
func() # call on it
setInterval(func, sec) # do the same function over and over again
thread = threading.Timer(sec, inner_function) # have it call inner ever x seconds
thread.setDaemon(True)
thread.start()
return thread
def clearInterval(interval):
interval.cancel()
return True
所以起初我认为这应该有用
interval = setInterval(lambda: print("Hello, World!"), 3) # prints 'Hello, World!' every three seconds.
# some time later
clearInterval(interval)
虽然尝试清除间隔不起作用。它创建了一个不断执行func
有没有办法在python中重启线程?如果没有办法让任何人知道如何做到这一点,只有它实际上能够使用clearInterval
并且它将完全停止?