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 который рядом со временем это просто текст)введите сюда описание изображения


Ответы (0 шт):