1、引言
小屌丝:鱼哥,调试代码,除了Debug,还有什么其他的神器没?
小鱼:额… 你这是要飞天吗?
小屌丝:我很低调的好不好。
小鱼:还说低调,那你Debug咋都不用,还说低调?
小屌丝:我觉得Debug太慢了,
小鱼:…被你装到了。
小屌丝:反正我不管, 就得帮我想个神器…
小鱼:… 好吧, 容我想一下。
小鱼:你别说,我还真的想到一个。
小屌丝:我擦…被你装到了, 我就知道你有货。
小鱼:低调, 我很低调的好不。
小屌丝:好吧,那你向我展示一下你说的神器。
小鱼:嘿嘿…
2、代码实战
2.1 介绍
今天说到的这个神器,就是PySnooper,它的工作原理很简单,就是替代print的工作。
我们都知道, print一行, 则输出一行。
而PySnooper的功能就是把所有的一起输出。
2.2 安装
涉及到第三方库,肯定就需要安装
老规矩,pip 安装
pipinstallpysnooper
然后就是等待着安装。
其它安装方式,直接看这两篇:
安装完成,就是这样
2.3 示例
代码示例
# -*- coding:utf-8 -*-# @Time : 2023-03-28# @Author : Carl_DJ'''实现功能: 使用PySnooper与with的上下文形式调试'''importpysnooperimportrandomdefDemo(): #设置listlist= [] foriinrange(10): list.append(random.randrange(1,1000)) #使用with进行上下文调试withpysnooper.snoop(): lower=min(list) upper=max(list) mid= (lower+upper) /2print(lower,mid,upper) #调用demoif__name__=='__main__': Demo()
运行结果
21458.0895Sourcepath:...D:\Project\TestPySnooper.pyNewvar:.......list=[438,414,895,834,890,464,21,536,290,85]Newvar:.......i=915:14:58.320034line19lower=min(list)Newvar:.......lower=2115:14:58.320540line20upper=max(list)Newvar:.......upper=89515:14:58.320540line21mid=(lower+upper)/2Newvar:.......mid=458.015:14:58.320540line23print(lower,mid,upper)Elapsedtime:00:00:00.000506Processfinishedwithexitcode0
3、总结
看到这里,今天的分享内容就到这里了。
其实在实际工作中, 使用上下文调试的场景也很常见。
所以,学会使用PySnooper的with进行上下文调试, 能帮助你节省很多工作量。
好了,就唠叨这里了。
我是小鱼:
- CSDN 博客专家;
- 便宜云服务器 专家博主;
- 51CTO博客专家;
- 51认证讲师;
- 金牌面试官;
关注小鱼,带你学习更多更有趣的python知识。
当然,
如果你想晋升自己的技能,;
如果你想提升自己的面试成功率;
如果你现在处在职业迷茫期,想重新规划职业生涯;
都可以找小鱼聊聊的。