Как выполнить код после завершения
Я хочу, чтобы часть моего кода выполнялась только при ручной остановке программы (например, при нажатии кнопки остановки в pycharm
). Я думал, наконец, заявление может сделать это для меня. Как это:
try:
do_sth()
finally:
print("you stopped the program")
но это не работает Я попробовал и то и другое, кроме как, но никто из них не работал Я думал, когда мы остановили запуск программы, keyboard_intrrupt
произошла ошибка, так что, наконец, должно было сработать
Любая идея?
1 ответ
Вы могли бы использовать atexit
библиотека.
Из документации:
Модуль atexit определяет функции для регистрации и отмены регистрации функций очистки. Зарегистрированные таким образом функции автоматически выполняются после обычного завершения интерпретатора.
Это может быть реализовано так:
#Rest of program...
def before_termination():
#Do something...
import atexit
atexit.register(before_termination)
Однако это вызывается только во время нормального завершения программы, а не в случае прерывания клавиатуры.