Переопределить функцию выхода 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}
и не работает.
Благодарю.