相当于C ++的Python __LINE__

时间:2019-06-25 21:49:37

标签: python

一个有用的C ++调试打印是

std::cout << __LINE__ << std::endl;

当然,您可以简单地打印带有行号的字符串,例如:

std::cout << "this is line 54" << std::endl;

,但是在四处移动时它不会一直更改行号。 Python中是否有任何等效的宏?

2 个答案:

答案 0 :(得分:7)

没有宏,但是你可以做

from inspect import currentframe, getframeinfo

print(getframeinfo(currentframe()).lineno)

要在Python中获取当前行号。

“当前行号”将是currentframe()被评估的行,仅供参考。

答案 1 :(得分:3)

作为一项功能,因此您不必将其扩展到任何地方

import sys

def LINE():
    return sys._getframe(1).f_lineno


print('This is line', LINE())

TBH我根本不了解inspect模块的意义。