PySnooper

Posted carsonzhu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PySnooper相关的知识,希望对你有一定的参考价值。

DeBug Python 代码的方式有很多种?比如:

(1)设置断点

(2)print函数

(3)。。。

本文要介绍的是一个新开源的项目PySnooper ,只要给有疑问的代码加上装饰器,各种信息一目了然,找出错误也就非常简单。

技术图片

项目地址:https://github.com/cool-RR/pysnooper

 

极简DeBug工具PySnooper 

一般情况下,想要知道哪一行代码在运行、哪一行不运行、本地变量的值是多少时,大部分人会使用 print 函数,在关键部分打印某个或某组变量的值、形状、类型等信息。

而 PySnooper 让你能快速地获得这些信息,且相比之下它不需要细致地写 print 函数,只需要向感兴趣的函数增加一个装饰器就行了。我们会得到该函数的详细 log,包含哪行代码能运行、什么时候运行以及本地变量变化的确切时间。

相比于其他代码智能工具,PySnooper 为何如此优秀?因为不需要任何设置,你就可以在劣等、不规则的企业代码库上使用 PySnooper。只需要加个装饰器,并为日志输出地址指定路径就行了。

废话不多说,上案例代码:

import pysnooper

@pysnooper.snoop()
def number_to_bits(number):
    if number:
        bits = []
        while number:
            number, remainder = divmod(number, 2)
            bits.insert(0, remainder)
        return bits
    else:
        return [0]

@pysnooper.snoop(‘F:/GitRepository/Python/PySnooper-Test/logs/file.log‘, prefix=‘ZZZ || ‘)
def number_to_bits2(number):
    if number:
        bits = []
        while number:
            number, remainder = divmod(number, 2)
            bits.insert(0, remainder)
        return bits
    else:
        return [0]

number_to_bits(6)
number_to_bits2(8)

  

以上是关于PySnooper的主要内容,如果未能解决你的问题,请参考以下文章

Python PySnooper 案例

PySnooper – 永远不要使用print进行调试

PySnooper – 永远不要使用print进行调试

PySnooper – 永远不要使用print进行调试

python--debug神器pysnooper

Python 怎样 DeBug? 极简DeBug工具PySnooper