Debugger: pdb 调试模块 pdb 允许你设置(条件)断点,代码逐行执行,检查堆栈。它还支持事后调试。
profilers: profile, hotshot, cProfile
历史上,因为不同的人们为了满足不同的需求重复实现了很多性能测试器,Python 也有好几个性能测试模。 最早的 Python profile 模块是 Python 写成的,用来测试函数的执行时间,及每次脚本执行的总时间,既没有特定函数的执行时间也没有被包含的子函数调用时间。
在三个 profile 模块中,它是最老的也是最慢的,尽管如此, 它仍然可以提供一些有价值的性能信息。
hotshot 模块是在 Python2.2 中新增的,它的目标是取代 profile 模块, 它修复了profile 模块的一些错误, 因为它是用 C 语言写成,所以它有效的提高了性能。 注意 hotshot重点解决了性能测试过载的问题, 但却需要更多的时间来生成结果。Python2.5 版修复了hotshot 模块的一个关于时间计量的严重 bug。
cProfile 模块是 Python2.5 新增的, 它用来替换掉已经有历史的 hotshot 和 profile 模块。它的一个较明显的缺点是它需要花较长时间从日志文件中载入分析结果, 不支持子函数状态细节及某些结果不准。它也是用 C 语言来实现的。
pylint , pylint-gui:
用来检测你的python文档的codestyle。
阅读(989) | 评论(0) | 转发(0) |