在我的項目manage,我嵌入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}
並且不起作用。
謝謝。
註冊一個擴展的方法工作,但我發現,shutdown_hook已過時,我要去把解決方案,前面回答 –
@rochacbruno:呵呵。這不在我發現的文檔中,但Google建議你是對的。我想到shutdown_hook是爲了在IPython實例關閉時想做某些事情,但Python解釋器本身可能仍然保持活動狀態。 – user2357112