簡體   English   中英

如何在循環中每 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))

暫無
暫無

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM