Переопределить функцию выхода ipython - или добавить к ней хуки

В моем проектеуправлятьЯ встраиваю iPython с:

from IPython import start_ipython
from traitlets.config import Config
c = Config()
c.TerminalInteractiveShell.banner2 = "Welcome to my shell"
c.InteractiveShellApp.extensions = ['autoreload']
c.InteractiveShellApp.exec_lines = ['%autoreload 2']
start_ipython(argv=[], user_ns={}, config=c)

Он хорошо работает и открывает мою консоль iPython, но чтобы выйти из ipython, я могу просто набратьexit или жеexit() или нажмитеctrl+D.

Что я хочу сделать, это добавитьexit hook или заменить этоexit Команда с чем-то еще.

Допустим, у меня есть функция.

def teardown_my_shell():
    # things I want to happen when iPython exits

Как зарегистрировать эту функцию для выполнения, когда яexit или даже как сделатьexit выполнить эту функцию?

ПРИМЕЧАНИЕ: я пытался пройтиuser_ns={'exit': teardown_my_shell} и не работает.

Благодарю.

Ответы на вопрос(2)

Ваш ответ на вопрос