是否有一种方法,例如,打印Hello World!每n秒?
例如,程序将遍历我所拥有的任何代码,然后在5秒后(使用time.sleep())执行该代码。我会用这个来更新文件,而不是打印Hello World。
例如:
startrepeat("print('Hello World')", .01) # Repeats print('Hello World') ever .01 seconds
for i in range(5):
print(i)
>> Hello World!
>> 0
>> 1
>> 2
>> Hello World!
>> 3
>> Hello World!
>> 4
下面是一个不需要每n秒创建一个新线程的版本:
from threading import Event, Thread
def call_repeatedly(interval, func, *args):
stopped = Event()
def loop():
while not stopped.wait(interval): # the first call is in `interval` secs
func(*args)
Thread(target=loop).start()
return stopped.set
该事件用于停止重复:
cancel_future_calls = call_repeatedly(5, print, "Hello, World")
# do something else here...
cancel_future_calls() # stop future calls
请参见改进setInterval python的当前实现