github:https://github.com/gruns/icecream
一、直接显示参数、函数及结果
from icecream import ic def plus_five(num): return num + 5 ic(plus_five(4)) ic(plus_five(5))
OUT:
ic| plus_five(4): 9 ic| plus_five(5): 10
二、检查执行的情况
如果你想要找到执行代码的位置,可以通过执行如下所示的操作,来查找执行了哪个语句。
def hello(user:bool): if user: ic() else: ic() hello(user=True) hello(user=False)
out:显示执行的行数
ic| <ipython-input-7-c7eae3f4cba5>:3 in hello() at 08:57:13.181 ic| <ipython-input-7-c7eae3f4cba5>:5 in hello() at 08:57:13.215
三、执行加前缀
1)如果您想在打印语句中插入自定义前缀(例如代码执行时间),icecream也是能实现的
from datetime import datetime from icecream import ic import time from datetime import datetime def time_format(): return f'{datetime.now()}|> ' ic.configureOutput(prefix=time_format) for _ in range(3): time.sleep(1) ic('Hello')
OUT:
2021-02-19 16:57:59.528296|> 'Hello' 2021-02-19 16:58:00.557745|> 'Hello' 2021-02-19 16:58:01.581405|> 'Hello'
2)除了知道和输出相关的代码之外,你可能还想知道代码执行的行和代码文件。
from icecream import ic def plus_five(num): return num + 5 ic.configureOutput(includeContext=True) ic(plus_five(4)) ic(plus_five(5))
OUT:
2021-02-19 16:59:09.005509|> <ipython-input-11-826dd3392d51>:7 in <module> plus_five(4): 9 2021-02-19 16:59:09.052417|> <ipython-input-11-826dd3392d51>:8 in <module> plus_five(5): 10