Python程序高效地调试
Posted roucheng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python程序高效地调试相关的知识,希望对你有一定的参考价值。
现在我在debug python程序就只是简单在有可能错误的地方print出来看一下,不知道python有没像c++的一些IDE一样有单步调试这类的工具?或者说各位python大神一般是怎么debug自己的python程序的?
应该用过 IPython 吧?想象一下,抛出异常时自动把你带到 IPython Shell 是不是很开心?而且和普通的IPython不同,这个时候可以调用 p (print), up(up stack), down(down stack) 之类的命令。还能创建临时变量,执行任意函数。
事实上这是可以实现的, 而且很简单,不过你要先安装 IPython。然后把以下代码保存为 `crash_on_ipy.py`
事实上这是可以实现的, 而且很简单,不过你要先安装 IPython。然后把以下代码保存为 `crash_on_ipy.py`
import sys class ExceptionHook: instance = None def __call__(self, *args, **kwargs): if self.instance is None: from IPython.core import ultratb self.instance = ultratb.FormattedTB(mode=\'Plain\', color_scheme=\'Linux\', call_pdb=1) return self.instance(*args, **kwargs) sys.excepthook = ExceptionHook() #何问起 hovertree.com
然后在你的项目代码某个地方 import crash_on_ipy 就可以了。
这个方法不需要 IDE.
推荐:http://www.cnblogs.com/roucheng/p/pythonstring.html以上是关于Python程序高效地调试的主要内容,如果未能解决你的问题,请参考以下文章