Команды задержки по истечении определенного времени от начального в python

#python #sleep

#python #сон

Вопрос:

Я пытаюсь отложить команды с дельтой от начального времени выполнения. Другими словами, мне нужен момент времени начала, в который остальные команды задерживаются по отношению к этому моменту времени начала. Пример:

 print("start")

# command that delays for a minute since the start
print("it's been a 1 min")

# command that delays for n minute since the start
print("it's been n min")
 

Я пытаюсь переключиться sleep() , но не нашел чего-то, что соответствует тому, что мне нужно. Любая помощь приветствуется.

Комментарии:

1. import time time.sleep(give time in seconds) Для получения дополнительной информации ознакомьтесь с этим

Ответ №1:

 import time
initial_time = int(time.time()) #frame of reference in seconds

def delta_sleep(s):
    """
    Parameters:
        s: seconds since elapsed to sleep until
    """
    if int(time.time()) > initial_time   s:
        # check if the delta time has already passed
        return
    else:
        # find time needed to sleep to reach the specified param 's'
        needed_sleep = (initial_time s) - int(time.time())
        time.sleep(needed_sleep)

# example

print("The program has started")

delta_sleep(5)

print("Five seconds have passed")

delta_sleep(8)

print("8 seconds have passed")

delta_sleep(1) # does not sleep at all

 

Комментарии:

1. Именно то, что мне было нужно. Не думал использовать текущее время как int. Спасибо.