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

Posted

技术标签:

【中文标题】将 Python 脚本退出到 IPython 命令行以进行调试【英文标题】:Exit Python script to IPython command line for debugging 【发布时间】:2021-07-10 17:55:39 【问题描述】:

这里似乎有很多很多线程,Google 在 Python 中重用了 exit、quit、os._exit()、sys.exit(),但我发现没有一个线程可以很好地与 IPython 配合使用。

当我使用它们中的大多数时,我得到:

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

我正在尝试在 Python 中进行调试 - 当满足某个条件时,我希望 Python 停止执行并返回到 Python 命令行,以便我可以检查全局变量等。

怎么做?

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

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

【问题讨论】:

你试过调用python调试器吗?致电pdb.set_trace() 并从调试器中检查您的变量。 【参考方案1】:

您是否尝试过使用Python Debugger?

import pdb

while doing_something:
    if condition:
        pdb.set_trace()

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

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

【讨论】:

以上是关于将 Python 脚本退出到 IPython 命令行以进行调试的主要内容,如果未能解决你的问题,请参考以下文章

python 用于将文本图像转换为tif图像的IPython脚本。

IPython:将 Javascript 脚本添加到 IPython 笔记本

利用Python进行数据分析——Ipython

运行 python 脚本运行 shell 文件时退出代码 191

根据退出代码bash脚本将命令重定向到变量或文件?

错误:安装脚本退出并出现错误:命令“gcc”失败,退出状态为 1