【问题标题】:How can I terminate a python program from an embedded IPython shell?如何从嵌入式 IPython shell 终止 python 程序?
【发布时间】:2016-09-06 13:54:26
【问题描述】:

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

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

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

【问题讨论】:

  • 这实际上是一个与173278类似的问题,只是来自IPython而不是unittest模块。

标签: python ipython


【解决方案1】:

sys.exit 只是引发了SystemExit 异常。以下通过硬杀程序起作用:

import os
os._exit(1)

为了更容易在我的 IPython 历史记录中找到 Ctrl-r exit(最后一行不会保存到历史记录中),我实际上写了一次这一行,故意打错:

import os; os._exit(1)_

【讨论】:

    猜你喜欢
    • 2013-04-24
    • 1970-01-01
    • 2013-10-26
    • 2011-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-17
    相关资源
    最近更新 更多