退出 Python 脚本到 IPython 命令行进行调试

Exit Python script to IPython command line for debugging

这里似乎有很多很多线程,Google 在 Python 中重新使用 exit、quit、os._exit()、sys.exit(),但是 none 我发现 IPython 玩得很好。

当我使用它们中的大部分时,我得到:

UserWarning: To exit: use 'exit', 'quit', or Ctrl-D.
  warn("To exit: use 'exit', 'quit', or Ctrl-D.", stacklevel=1)

我正在尝试在 Python 中进行调试 - 当满足特定条件时,我希望 Python 停止执行并 return 到 Python 命令行所以我可以检查全局变量等

怎么做?

现在我已经完成了这个,当我按下 Ctrl-C 时它会起作用,但应该有一种不需要 Ctrl-C 的方法。

def halt():
    while True:
        time.sleep(0.2)

您尝试过使用 Python Debugger 吗?

import pdb

while doing_something:
    if condition:
        pdb.set_trace()

如果想手动控制何时退出循环,可以尝试:

while doing_something:
    try:
        do_something()
    except KeyboardInterrupt:
        pdb.set_trace()