我遇到的问题是,出于调试目的,我会在循环中放入一个IPython shell:
for x in large_list:
if x.looks_bad():
import IPython
IPython.embed()
从那里我可能想要终止父程序,因为在调试问题原因后,embed()
会被调用很多次。 sys.exit(1)
被IPython捕获,所以我无法使用它。
答案 0 :(得分:0)
sys.exit
只会引发SystemExit
例外。以下工作通过硬杀死程序:
import os
os._exit(1)
为了更容易在我的IPython历史记录中使用Ctrl-r exit
找到这个(最后一行不会保存到历史记录中),我实际上写了一行,故意写错:
import os; os._exit(1)_