@davider228

Можно ли выполнять код при досрочном завершении программы?

Можно ли как то сделать что бы при досрочном завершении программы выводился текст в консоль или что бы я например мог написать в консоль "1" и тогда выполнился код и завершилась программа? Без использования графического интерфейса. Если кто то знает как это реализовать подскажите пожалуйста.
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ответы на вопрос 1
Vindicar
@Vindicar
RTFM!
Зависит от того, что ты понимаешь под досрочным завершением, и что ты хочешь сделать в рамках реакции на это завершение.
Например, os._exit() прибьёт процесс так, что никакое завершение не отработает. Аналогично, есть другеи ситуации, когда процесс прибивается "снаружи". В таких случаях только мониторинг со стороны родительского процесса, только хардкор.
В простейшем случае можно завернуть тело программы в try-except, try-finally или кастомный блок with (скажем, через contextlib.contextmanager).
Также можно посмотреть в сторону модуля atexit, но там свобода действий будет более ограничена.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы