相信很多小伙伴平时写python的时候都是需要调试程序的,出问题了,需要了解函数内部是怎么跑的,而这个时候很多人都会想到在疑惑的地方使用print函数来打印一下参数来调试。
虽然用print也是不失为是一种方法,但是有时如果疑惑的地方多就要每个地方都要加print,这样就显得比较麻烦了。
今天发现在Github开源了一个神器,可以清楚让你清楚了解函数内部的运行以及参数值的变化,PySnooper,项目地址:https://github.com/cool-RR/PySnooper
使用简单,强大,谁用谁知道它的好!下面简单说一下PySnooper的用法:
这个工具使用起来很简单,首先直接可以使用 pip 安装:pip install pysnooper使用时,只需要在每个函数前面添加装饰器即可。
给个简单例子看看就知道了:
添加装饰器之后,运行代码就会输出对应函数的执行数据
当然如果嫌弃这个直接输出内容还想保存日志记录的话,这个装饰器还几个可选参数,例如:
@pysnooper.snoop('log/file.log')
先创建好log目录,然后将日志输出到file文件中。
@pysnooper.snoop(prefix='removeDuplicates: ')
给调试的行加个前缀名便于辨识和定位,这个参数适用于如果同时调试多个函数使用,我这里的例子是使用了函数名称来作为前缀名
@pysnooper.snoop(variables=('foo.bar', 'self.whatever'))
查看非本地变量
@pysnooper.snoop(depth=2)
显示函数中调用函数的snoop行,depth参数的取值范围是大于或等于1的正整数,在源码里有这样一个判断:assert self.depth >= 1,当取小于1的值就会抛异常
从去年到现在,我根据市场技术栈的需求,录制了一套最新的Python精讲视频教程,可以免费赠送给每一位小伙伴,
如果你也想当一位程序员,学习Python,那么帮忙转发一下然后再关注小编后私信“01”可以得到我整理的这些Python资料了(私信方法:点击我头像进我主页有个上面有个私信按钮)。