Override ipython exit function - oder füge Hooks hinzu
In meinem Projektverwalte, Ich binde iPython ein mit:
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)
Es funktioniert gut und öffnet meine iPython-Konsole, aber um ipython zu verlassen, kann ich einfach @ eingebexit
oderexit()
oder drücken Siectrl+D
.
Was ich tun möchte, ist ein @ hinzufügexit hook
oder ersetze dasexit
Befehl mit etwas anderem.
Sagen wir, ich habe eine Funktion.
def teardown_my_shell():
# things I want to happen when iPython exits
Wie registriere ich diese Funktion, die ausgeführt werden soll, wenn ichexit
oder sogar wie man @ macexit
um diese Funktion auszuführen?
HINWEIS: Ich habe versucht, @ zu bestehuser_ns={'exit': teardown_my_shell}
und funktioniert nicht.
Vielen Dank