首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python2.7安装pysnooper

我们先来安装这个模块

cmd模式中进入c:\Python27\Script目录下,执行

pip install PySnooper

稍等片刻,安装完成

我们进入cmd测试导入这个模块

import PySnooper

没有提示任何信息,安装成功!

这个截图中后面一个导入是成功,前面一个导入不成功

后面这个是我们安装之后的操作。前面这个是我还没有安装,就直接执行导入的操作,有些人以为这个是程序自带的模块。

我们现在制做+一个打印变量的值的程序

可见,只需要导入PySnooper模块,并且给函数加上装饰器@pysnooper.snoop(),我们就可以实现对一个Python函数的监听(调试)。

在上面这个例子中,根据输出结果,我们可以得到:

程序执行步骤的顺序,比如执行结果的第2行告诉我们,在09:19:17.146000 line这一时刻执行了def test()这一行代码。

程序中变量的值的变化情况,比如执行结果的第9行告诉我们,局部变量number此时的值发生了变化,变成了3。

PySnooper支持灵活多样的程序调试,包括但不限于:

给函数添加装饰器@pysnooper.snoop(),完成对函数的监听。

使用with pysnooper.snoop()语句,实现对程序块(block),即一行或者多行程序进行监听。

使用@pysnooper.snoop(‘/my/log/file.log’),将监听结果重定向到文件系统。

监听非局部变量的值:

@pysnooper.snoop(variables=('foo.bar','self.whatever'))

监听一个列表或者字典变量的所有元素或者属性:

@pysnooper.snoop(watch=('foo.bar','self.x["whatever"]'))

深度监听——监听函数中的行所调用的其他函数:

@pysnooper.snoop(depth=2)

在多线程程序中,指定监听哪些线程:

@pysnooper.snoop(thread_info=True)

PySnooper的更多高级用法参见:cool-RR/PySnooper

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200103A05L3F00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券