Как остановить программу в python без модуля time имея возможность восстановить работу программы?

Я создаю голосового помощника в питоне и нужно, чтобы при определённых действиях он останавливался на какое то время, но не с модулем time, и ещё мне нужно, чтобы при определённых действиях программа могла продолжить работу.


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

Автор решения: Shamus Rezol

Не использовать модуль time не выход! Как я понял, вам нужно лишь приостановить выполнение скрипта?

while True: continue

Лично у меня, потребляемое ЦП дошло до 60%. НЕ круто, чел.

А на счет этого:

while True:
    time.sleep(0.1)

Диспетчер задач вовсе не видел потребление ЦП 0(!)%. Так воот. Это вам мысль к размышлению. Вам стоит поискать оптимальный баланс отклик/цена.

Ближе к вашей задаче: почему вы отказываетесь от бесконечного цикла с проверкой на «определенные действия», при которых программа продолжит работу? По мне так проще - лучше.

import time


def asleep():

    """ Я, к сожалению, не имею никаких «определенных действий»,
        поэтому.. СПИ ВЕЧНО, МО-ыта.2
    """
    return True

while asleep():

    time.sleep(.1)

Я действительно не понимаю вашей категоричности по поводу использования модуля time, ведь это по моему единственный выход реализовать это более менее на чистом python'е. Может вы экстремист и хотите удариться в написание дополнительной мини-утилиты под вашу задачу, в которой вы так же будете использовать библиотеку времени? Ну, это, конечно, выход для некоторых. Повторюсь: проще - лучше.

→ Ссылка