【发布时间】:2019-10-28 16:01:01
【问题描述】:
我有一个 for 循环,我希望每 5 分钟执行一次迭代。本质上,我想冻结/休眠循环 5 分钟,然后从 5 分钟前离开的地方继续,而不是从头开始。总的来说,我想这样做一整天(24 小时)。
【问题讨论】:
-
太棒了!你试过什么了?你遇到了什么问题?
我有一个 for 循环,我希望每 5 分钟执行一次迭代。本质上,我想冻结/休眠循环 5 分钟,然后从 5 分钟前离开的地方继续,而不是从头开始。总的来说,我想这样做一整天(24 小时)。
【问题讨论】:
这样的?循环运行(多一点)二十四小时,每次迭代后休眠五分钟。
from time import sleep, time
ONE_DAY = 24 * 60 * 60 # seconds
FIVE_MINUTES = 5 * 60 # seconds
start_time = time()
current_time = start_time
while current_time <= start_time + ONE_DAY - FIVE MINUTES:
# Do something loopy here...
time.sleep(FIVE_MINUTES)
current_time = time()
【讨论】:
您可以定义一个简单地调用 sleep 5 分钟的方法,然后在循环中调用它。有点像
import time
# main loop
for i in .....:
# do your stuff
wait5Mins()
# continue doing stuff
def wait5Mins():
time.sleep(300)
【讨论】: