Python调试神器 PySnooper

pip安装
pip install pysnooper	
使用

在这里插入图片描述


import pysnooper
@pysnooper.snoop()
def test(n):
    if n<2:
        return 1
    return (test(n-1)) * n
test(5)

#  详细结果如下  每一行的操作  变量的类型和变化  以及缩进  返回值都清清楚楚
Source path:... D:funtion.py
Starting var:.. n = 5
14:44:43.327914 call        18 def test(n):
14:44:43.327914 line        19     if n<2:
14:44:43.327914 line        21     return (test(n-1)) * n
    Starting var:.. n = 4
    14:44:43.327914 call        18 def test(n):
    14:44:43.327914 line        19     if n<2:
    14:44:43.327914 line        21     return (test(n-1)) * n
        Starting var:.. n = 3
        14:44:43.327914 call        18 def test(n):
        14:44:43.327914 line        19     if n<2:
        14:44:43.327914 line        21     return (test(n-1)) * n
            Starting var:.. n = 2
            14:44:43.327914 call        18 def test(n):
            14:44:43.327914 line        19     if n<2:
            14:44:43.327914 line        21     return (test(n-1)) * n
                Starting var:.. n = 1
                14:44:43.327914 call        18 def test(n):
                14:44:43.327914 line        19     if n<2:
                14:44:43.327914 line        20         return 1
                14:44:43.327914 return      20         return 1
                Return value:.. 1
                Elapsed time: 00:00:00.000998
            14:44:43.328912 return      21     return (test(n-1)) * n
            Return value:.. 2
            Elapsed time: 00:00:00.000998
        14:44:43.328912 return      21     return (test(n-1)) * n
        Return value:.. 6
        Elapsed time: 00:00:00.000998
    14:44:43.328912 return      21     return (test(n-1)) * n
    Return value:.. 24
    Elapsed time: 00:00:00.000998
14:44:43.328912 return      21     return (test(n-1)) * n
Return value:.. 120
Elapsed time: 00:00:00.000998
若不想跟踪整个函数,可以使用with

def test(n):
    if n<2:
        return 1
    with pysnooper.snoop():
        return (test(n-1)) * n
test(5)


# 详细结果如下
Source path:... D:/funtion.py
New var:....... n = 5
14:50:53.402257 line        20         return (test(n-1)) * n
Source path:... D:/funtion.py
New var:....... n = 4
14:50:53.402257 line        20         return (test(n-1)) * n
Source path:... D:/funtion.py
New var:....... n = 3
14:50:53.402257 line        20         return (test(n-1)) * n
Source path:... D:/funtion.py
New var:....... n = 2
14:50:53.402257 line        20         return (test(n-1)) * n
Elapsed time: 00:00:00.000000
Elapsed time: 00:00:00.000000
Elapsed time: 00:00:00.000000
Elapsed time: 00:00:00.000000

若不想结果输出到控制台,还可以把结果输出到日志文件

在这里插入图片描述
在这里插入图片描述



推荐

博客导读目录

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值