#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. Спасибо.