manageが、私はiPythonを埋め込むています:exit関数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コンソールを開きますが、私はちょうどexit
を入力することができますipython残すためにまたは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は廃止されることを見出し、私はanwer –
@rochacbrunoのような溶液を入れてやっています:えっ。それは私が見つけたドキュメントにはなかったが、Googleはあなたが正しいと示唆している。 shutdown_hookは、IPythonインスタンスがシャットダウンしているときに何かしたいときに使用すると考えられましたが、Pythonインタプリタ自体はまだアクティブのままです。 – user2357112