将 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 笔记本