Python程序高效地调试
2016-06-19 20:12
519 查看
现在我在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`
然后在你的项目代码某个地方 import crash_on_ipy 就可以了。
这个方法不需要 IDE.
推荐:http://www.cnblogs.com/roucheng/p/pythonstring.html
应该用过 IPython 吧?想象一下,抛出异常时自动把你带到 IPython Shell 是不是很开心?而且和普通的IPython不同,这个时候可以调用 p (print), up(up stack), down(down stack) 之类的命令。还能创建临时变量,执行任意函数。
事实上这是可以实现的, 而且很简单,不过你要先安装 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
相关文章推荐
- python3 zip的用法
- python生成器表达式
- Python 小练习_班级平均分
- 测试驱动开发与Python
- Python包中__init__.py作用
- python3 与python2 异常处理的区别与联系
- 浅谈Python的异常处理
- python实现迭代器
- qpython3 读取安卓lastpass Cookies
- Python文本处理工具——TextRank
- Python strip()方法
- 使用 twisted 的 txrestapi 模块提供基本的异步 API 服务。
- Python 自带小工具
- Python中处理DataFrame,R绘图
- 关于Python的配置文件
- Python-format函数
- List列表的用法以及使用
- 运行python程序
- Ubuntu 16.04下指定Sublime Text 3 默认python编译版本
- Python字典的内置方法