Обработка завершения скрипта python
У меня возник вопрос, как обработать завершение работы кода в python. Для лучшего понимая, приведу в пример excepthook из модуля sys. Вот пример:
import sys
import logging
logger = logging.getLogger(__name__)
handler = logging.StreamHandler(stream=sys.stdout)
logger.addHandler(handler)
def handle_exception(exc_type, exc_value, exc_traceback):
if issubclass(exc_type, KeyboardInterrupt):
sys.__excepthook__(exc_type, exc_value, exc_traceback)
return
logger.error("Uncaught exception", exc_info=(exc_type, exc_value, exc_traceback))
sys.excepthook = handle_exception
if __name__ == "__main__":
raise RuntimeError("Test unhandled")
Здесь логируется каждое исключение. Нужно сделать что-то подобное, но именно при завершении программы.