debug调试神器pysnooper

       异常bug定位,print()函数也可以,但效率上还是慢,后来发现了一个叫PySnooper的装饰器。一般debug调试,都是在我们可能觉得会有问题的地方,去打印输出,看下实际输出了什么,然后思考问题所在。

下载库:

pip install pysnooper

       但是pysnooper很方便,运行代码就会输出对应函数的执行数据,并且函数每一步的输出都保存为debug_file.log,我们可以直接去看到底哪里出了问题。

import pysnooper

@pysnooper.snoop('./debug_feil.log')
def nu_to(number):
    list1 = []
    for i in range(number):
        if i%2==0:
            list1.insert(0, i)
        else:
            pass
    return list1

nu_to(6)

Starting var:.. number = 6
09:54:45.310977 call         2 def nu_to(number):
09:54:45.310977 line         3     list1 = []
New var:....... list1 = []
09:54:45.312009 line         4     for i in range(number):
New var:....... i = 0
09:54:45.313003 line         5         if i%2==0:
09:54:45.313003 line         6             list1.insert(0, i)
Modified var:.. list1 = [0]
09:54:45.313003 line         4     for i in range(number):
Modified var:.. i = 1
09:54:45.313967 line         5         if i%2==0:
09:54:45.313967 line         4     for i in range(number):
Modified var:.. i = 2
09:54:45.314990 line         5         if i%2==0:
09:54:45.314990 line         6             list1.insert(0, i)
Modified var:.. list1 = [2, 0]
09:54:45.316959 line         4     for i in range(number):
Modified var:.. i = 3
09:54:45.317956 line         5         if i%2==0:
09:54:45.317956 line         4     for i in range(number):
Modified var:.. i = 4
09:54:45.318954 line         5         if i%2==0:
09:54:45.318954 line         6             list1.insert(0, i)
Modified var:.. list1 = [4, 2, 0]
09:54:45.318954 line         4     for i in range(number):
Modified var:.. i = 5
09:54:45.319952 line         5         if i%2==0:
09:54:45.319952 line         4     for i in range(number):
09:54:45.320950 line         9     return list1
09:54:45.320950 return       9     return list1
Return value:.. [4, 2, 0]
 

 

文章未经博主同意,禁止转载!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值