2012-01-02 7 views
0

Cntl-D、%終了、%終了、または%終了と%終了を実行するときに実行するIPythonでフックを作成したい確認してください。IPythonの現在のInteractiveShellインスタンスへの参照を取得する(%exitをフックしようとしている)

動機は、私がCntl-Dを押して終了するまでIPythonで無期限に実行されるスレッドを持っていて、終了するようスレッドに伝えたいということです。私は私のバックグラウンドスレッドに信号を送信するためにフックを使用することがわかります。

これを行う方法の1つは、IPython :: iplib :: InteractiveShell :: exitをラップすることです。これは可能ですか?私がやろうとしていることをする良い方法がありますか?ありがとう

答えて

1

スレッドを終了させる最も簡単な方法は、おそらくatexitハンドラを登録することです。それはIPythonに依存しない標準的なPythonのことです。

InteratctiveShellオブジェクトへの参照が必要な場合は、IPython 0.11以降でget_ipython()を使用してください。私はあなたが古いバージョンを使用していると思います。試してください_ip

関連する問題