debugging 如何在Icecream打印输出中显示代码行号(没有额外的上下文)?

50few1ms  于 2022-12-04  发布在  其他
关注(0)|答案(1)|浏览(121)

我目前正在使用Icecream(https://github.com/gruns/icecream)来打印变量和其他信息,以便调试和查看。我希望能够显示打印调用的行号,而不包括其他信息。如果有更好的选择,我不需要使用Icecream。
下面的代码可以生成以下输出。
ic| test: 'hello'
这很棒,我可以根据自己的喜好调整前缀,但我希望也能包含生成输出的行号。Icecream有一个函数可以做到这一点,但它也输出了一堆我不感兴趣的其他信息(见下文)。
Debug | test.py:4 in <module>- test: 'hello'
似乎没有一种只显示行号的本地方法(上例中为4)而不带其余信息(文件名和父函数)。我可以做的是在前缀编辑器中包含一些代码来获得行号,但这只是提供了ic的行号。configureOutput()函数,我认为这是有意义的,因为这是发出行号请求的函数。
Debug:5 | test: 'hello'
是否有一种方法(或其他方法)可以获得上面的输出,但行号(在上面的示例中是第5行)是发起调用的脚本中的实际行号(在上面的示例中是第7行)?

a6b3iqyw

a6b3iqyw1#

我想你可以用“监库”来达到这个目的;

from inspect import currentframe

def get_line();
    return currentframe().f_back_f_lineno

print("this is sample:", get_line())

相关问题