[英]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))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.