如何从嵌入式IPython外壳终止python程序?

如何从嵌入式IPython外壳终止python程序?,python,ipython,Python,Ipython,我有一个问题,出于调试目的,我在循环中放入IPython shell: for x in large_list: if x.looks_bad(): import IPython IPython.embed() 从那里我可能想终止父程序,因为在调试问题原因之后,embed()会被多次调用sys.exit(1)被IPython捕获,因此我无法使用它。sys.exit只会引发SystemExit异常。以下是通过强制终止程序而起作用的: import os os._exit(1)

我有一个问题,出于调试目的,我在循环中放入IPython shell:

for x in large_list:
  if x.looks_bad():
    import IPython
    IPython.embed()

从那里我可能想终止父程序,因为在调试问题原因之后,
embed()
会被多次调用
sys.exit(1)
被IPython捕获,因此我无法使用它。

sys.exit
只会引发
SystemExit
异常。以下是通过强制终止程序而起作用的:

import os
os._exit(1)
为了更容易地在我的IPython历史记录中使用
Ctrl-r exit
(最后一行将不会保存到历史记录中),我特意写了一次这行:

import os; os._exit(1)_

这实际上是一个类似于IPython而不是unittest模块的问题。