Python debugger——PySnooper

概述:解决Python在debug阶段使用debug mode按键或print的繁琐,推荐一款便捷且开源的debug利器——PySnooper

PySnooper

PySnooper作为一款开源的Python debugger,解决了基于编译工具下debug模式下手动点击下一步的麻烦,代码量过大的函数可能并不适用。

开源工具Github地址:https://github.com/cool-RR/pysnooper

Install

1
pip install pysnooper

PySnooper使用方法:在函数前添加装饰器,会得到该函数每一行的具体log信息,包括程序所执行完语句后的变量值变化等

案例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import pysnooper

@pysnooper.snoop()
def number_to_bits(number):
if number:
bits = []
while number:
number, remainder = divmod(number, 2)
bits.insert(0, remainder)
return bits[::-1]
else:
return [0]

number_to_bits(6)

输出

补充

长文log信息可以输出定位到本地文件:

1
@pysnooper.snoop('/mylog/number_to_bits.log')

其他信息一同输出不好定位,可添加前缀字符串

1
@pysnooper.snoop(prefix='tobit ')