Python 的第三方调试库 ​​​pysnooper​​ 使用示例

作者:风华绝代小浪浪 时间:2022-09-22 09:19:39 

一、背景

我们在进行代码调试时,通常使用两种方式。

  • print 输出调试的内容或者标识

  • 通过断点调试debug
    但是我想知道代码的中间的每一行程序运行后的结果,方便的知道每一行程序运行后的结果,而不需要再手动增加 print 展示过程数据、调试程序
    Python 的第三方调试库**pysnooper**。通过装饰器轻松搞定

二、示例  pysnooper`

pip install pysnooper

  • 示例一跟踪整个函数

import pysnooper

@pysnooper.snoop()
def number_to_bits(number):
for i in range(4):
print(i)

number_to_bits(2)
import pysnooper
import random

def foo():
lst = []
for i in range(10):
lst.append(random.randrange(1, 1000))

with pysnooper.snoop():
lower = min(lst)
upper = max(lst)
mid = (lower + upper) / 2
print(lower, mid, upper)
foo()

  • 示例二 跟踪相关部分

三、方法

  • 如果标准错误输出难以获得,或者太长了,那么可以将输出定位到本地文件:

@pysnooper.snoop('/my/log/file.log')
  • 查看一些非本地变量的值:

@pysnooper.snoop(variables=('foo.bar', 'self.whatever'))
  • 展示函数调用的函数的监听行

@pysnooper.snoop(depth=2)
  • 将所有 监听行以某个前缀开始,更容易定位和找到:

@pysnooper.snoop(prefix='ZZZ ')
  •  高级更多

来源:https://blog.51cto.com/u_12498385/6074949

标签:​​​pysnooper
0
投稿

猜你喜欢

  • GoLang中的互斥锁Mutex和读写锁RWMutex使用教程

    2024-05-25 15:13:05
  • 详解python单元测试框架unittest

    2022-05-31 23:16:58
  • Python-opencv实现红绿两色识别操作

    2021-05-04 18:35:51
  • 处理HTML代码的若干函数

    2009-08-21 13:21:00
  • .Net Core微服务网关Ocelot基础介绍及集成

    2024-05-11 09:26:10
  • js键盘事件全面控制

    2008-02-21 12:51:00
  • 论标志的简洁性

    2009-10-27 16:05:00
  • 任意定制文本对齐方式:CSS Text Wrapper

    2008-02-03 11:11:00
  • uniapp项目打包为桌面应用的方法步骤

    2024-04-29 13:16:04
  • 做购物车系统时利用到得几个sqlserver 存储过程

    2024-01-13 10:05:48
  • 浏览器 cookie 限制

    2008-05-23 13:09:00
  • Mysql官方性能测试工具mysqlslap的使用简介

    2024-01-23 18:38:46
  • 简单介绍Python中的filter和lambda函数的使用

    2023-05-30 18:18:36
  • Python使用jpype模块调用jar包过程解析

    2023-04-12 03:07:12
  • python正则表达式re.match()匹配多个字符方法的实现

    2023-07-30 08:25:16
  • Python设计模式之代理模式实例详解

    2022-11-20 05:24:29
  • selenium+python自动化测试环境搭建步骤

    2021-03-16 02:34:34
  • Go语言中的函数式编程实践

    2024-02-03 23:06:58
  • 关于ASP中的类class

    2007-08-19 15:37:00
  • 设置密码保护的SqlServer数据库备份文件与恢复文件的方法

    2024-01-15 10:19:55
  • asp之家 网络编程 m.aspxhome.com