Python код самопроизвольно приостанавливает работу в cmd
Написал функцию для вычисления секунд между промежутками времени, чтобы код засыпал до прибытия этого времени и далее выполнялась остальная часть кода соответственно.
def timer(time, flag_non_time):
timedelta_object = (datetime.strptime(time, "%H:%M") - datetime.strptime(datetime.now().time().strftime("%H:%M:%S"), "%H:%M:%S"))
days, seconds = timedelta_object.days, timedelta_object.seconds
if flag_non_time: seconds -= 240 # 4 min
if days != 0:
print(f"[+]Warning! Timer set outside of today - [{time}]") # Critical Error!
print(f"The timer is activated for {seconds} seconds ({time})")
while seconds > 0:
sleep(1)
seconds -= 1
print(f"[{datetime.now().time().strftime('%H:%M:%S')}] - timer end!")
Написал для тестирования в cmd такой код и отошёл на пару часиков
times = [('11:10', True), ('11:50', False), ('12:10', False), ('13:00', True), ('15:00', False), ('18:00', True), ('23:00', False)]
for time, flag_non_time in times:
timer(time, flag_non_time)
Когда вернулся в cmd были следующие сообщения:
The timer is activated for 400 seconds (11:10)
[11:06:03] - timer end!
The timer is activated for 2637 seconds (11:50)
[11:50:17] - timer end!
Первое меня смутило что таймер вычислил не ровное значение, но помимо этого код остановил работу, я не понял почему дальше не выполнялись команды, код как буд-то приостановился, после нажатия F5, (настоящее время было 13:10) код продолжился:
[+]Warning! Timer set outside of today - [12:10]
The timer is activated for 81356 seconds (12:10)
Скажу сразу такое наблюдаю не в первый раз и не на первом устройстве эта приостановка кода просто ломает мой проект, не знаю что делать
Снизу закреплю скрин с cmd (не обращайте внимания на flag_non_time который рядом со временем это просто текст)