我正在编写代码,我已经知道,当我有更多信息时,我将不得不更改一些说明。 我已经知道我必须改变的具体线,但由于代码有点长,我想准备我必须通过打印那些线的n°来改变这些线的那一刻。实际上我想像this_line()函数那样工作:
1
2
3 print('this line is the n°'.format(this_line())
4
>>> this line is the n°3
我可以不在.txt中转换代码并计算行数吗?
答案 0 :(得分:2)
The inspect
module让你满意。只需import inspect
,然后运行:
inspect.currentframe().f_lineno
获取当前正在执行的帧的行号。
请注意,根据文档,这是CPython(参考解释器)特有的功能:
CPython实现细节:此函数依赖于解释器中的Python堆栈框架支持,但不保证在Python的所有实现中都存在这种支持。如果在没有Python堆栈帧支持的实现中运行,则此函数返回None。
我不清楚框架的概念及其行号是否会存在于别处,但这在参考解释器上可以正常工作。这可能是便携式的(没有其他说明),但我无法确定:
inspect.stack()[0].lineno