意外发现一个好用的Python debug工具icecream

github 链接

Installation

您是否曾经使用过print()或log()来调试代码?你可以使用ic()来进行调试

pip install icecream
带参数的ic()会输出变量的值以及其他辅助信息

如果使用print(foo(123))进行调试则只输出456
在这里插入图片描述

不带参数的ic()会检查自身并打印调用文件名,行号和父函数。
from icecream import ic

def foo():
    ic()
    first()

    if expression:
        ic()
        second()
    else:
        ic()
        third()

ic| example.py:4 in foo()
ic| example.py:11 in foo()

ic.format(*args)与ic()一样,只不过以字符串的形式返回
>>> from icecream import ic
>>> s = 'sup'
>>> out = ic.format(s)
>>> print(out)
ic| s: 'sup'
ic()的输出可以完全禁用,以后可以分别使用ic.disable()和ic.enable()重新启用。
from icecream import ic

ic(1)

ic.disable()
ic(2)

ic.enable()
ic(3)

ic| 1: 1
ic| 3: 3

要使ic()在每个文件中可用而不需要在每个文件中导入,可以使用install()。

例如,在A.py中:

from icecream import install
install()

from B import foo
foo()

B.py

def foo():
    x = 3
    ic(x)

install() 将ic()添加到内置模块,该模块在解释器导入的所有文件之间共享。 同样,ic()以后也可以进行uninstall()。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值