我已经看到了关于这个主题的几个答案 - 其中一些现在(使用Python 3.6)已经过时了 - 而且我仍然不清楚最好的方法。
我希望能够运行一个脚本,如果它遇到错误,它会跳转到暂停的位置,我可以测试任何局部变量的值,看看可能有什么不妥。
在其他语言(例如VBA)中,我可以使用On Error Goto ErrorHandler,然后在错误处理程序中放置一个断点,打印出错误描述和它来自的行号,然后使用Locals或Immediate窗口看看我的变量在那一点上有什么值。
我不想要一大堆try / except语句,也不希望每次都以调试模式运行它。
在我查看问题的时候,是否有一种简单的Pythonesque方式让它暂停?
答案 0 :(得分:0)
您会发现pdb
模块很有用。
模块
pdb
定义了Python的交互式源代码调试器 程式。它支持设置(条件)断点和单个 踩到源线级,检查堆栈帧,源 代码清单,以及上下文中任意Python代码的评估 任何堆栈帧。它还支持事后调试,可以 在程序控制下调用。
pdb
对于设置断点和事后调试非常有用。我相信这就是你要找的东西。
再次,来自文档:
从正在运行的程序进入调试器的典型用法是 插入
import pdb; pdb.set_trace()
在你要打破的位置 调试器。然后,您可以按照此声明逐步执行代码, 并使用
continue
命令在没有调试器的情况下继续运行。