Для цикла выполняется каждые 5 минут в течение 24 часов - PullRequest
0 голосов
/ 28 октября 2019

У меня есть цикл for, и я хочу, чтобы каждая итерация выполнялась каждые 5 минут. По сути, я хочу заморозить / уснуть цикл на 5 минут, а затем продолжить с того места, где он оставался 5 минут назад, а НЕ начинать с самого начала. В общем, я хочу сделать это в течение всего дня (24 часа).

Ответы [ 2 ]

0 голосов
/ 28 октября 2019

Как то так? Цикл длится (чуть больше) двадцать четыре часа и спит пять минут после каждой итерации.

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()
0 голосов
/ 28 октября 2019

Вы можете определить метод, который просто вызывает sleep на 5 минут, а затем вызывает его в вашем цикле. Вроде как

import time 

# main loop
for i in .....:
   # do your stuff
   wait5Mins()
   # continue doing stuff

def wait5Mins():
    time.sleep(300)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...