如何让 while 循环暂停指定时间(日期时间)?

How can I let a while loop pause for a specified time (datetime)?

我想让 while 循环 运行,里面发生的事情大约需要 2 秒才能完成(变化很小),所以如果我使用 time.sleep(60 或58) 它仍然会轻微移动。所以我想做的是 while 循环从 16:00:00 开始(因为我点击了 运行)并执行它的操作,等待然后在 16:01:00 再次开始,所以一分钟后等等。我该怎么做?

您将 time.sleep() 放在代码的什么位置?当所有处理完成时,您是否尝试过将它放在 while 循环的末尾?

调用 stop 函数将停止您的 while 循环以达到您传递的数量。这有效我测试过

def stop(t):
    running = False
    time.sleep(t)
    running = True

while running:
    # Do something

测量操作所用的时间。然后从循环周期中减去它以获得睡眠时间。

import time

while True:
    start = time.time()
    # do your thing
    time.sleep(60 - (time.time() - start))