如何在循环中每隔 x 秒 运行 计时一次而不停止循环?
How to run timer every x seconds within a loop without stalling the loop?
i = 0
start = datetime.now()
while True:
myFunction()
i += 1
print('Elapsed: ' + str(datetime.now()-start) + ' | Iteration #' + str(i))
我想每 10 秒打印一次计时器信息,而不是在循环的每次迭代中打印一次,但实际上并没有停止循环本身,因此 myFunction()
仍然会执行它需要执行的操作(并且i
计数器随后增加)无需等待 10 秒。
使用datetime.timedelta
检查时间是否足够:
import datetime
i = 0
start = datetime.datetime.now()
last = start
while True:
my_function()
i += 1
now = datetime.datetime.now()
if now - last > datetime.timedelta(seconds=10):
last = now
print('Elapsed: ' + str(now-start) + ' | Iteration #' + str(i))
i = 0
start = datetime.now()
while True:
myFunction()
i += 1
print('Elapsed: ' + str(datetime.now()-start) + ' | Iteration #' + str(i))
我想每 10 秒打印一次计时器信息,而不是在循环的每次迭代中打印一次,但实际上并没有停止循环本身,因此 myFunction()
仍然会执行它需要执行的操作(并且i
计数器随后增加)无需等待 10 秒。
使用datetime.timedelta
检查时间是否足够:
import datetime
i = 0
start = datetime.datetime.now()
last = start
while True:
my_function()
i += 1
now = datetime.datetime.now()
if now - last > datetime.timedelta(seconds=10):
last = now
print('Elapsed: ' + str(now-start) + ' | Iteration #' + str(i))