获取指令的行n°

时间:2018-04-18 14:48:33

标签: python python-3.x

我正在编写代码,我已经知道,当我有更多信息时,我将不得不更改一些说明。 我已经知道我必须改变的具体线,但由于代码有点长,我想准备我必须通过打印那些线的n°来改变这些线的那一刻。实际上我想像this_line()函数那样工作:

1 
2 
3 print('this line is the n°'.format(this_line())
4

>>> this line is the n°3

我可以不在.txt中转换代码并计算行数吗?

1 个答案:

答案 0 :(得分:2)

The inspect module让你满意。只需import inspect,然后运行:

inspect.currentframe().f_lineno

获取当前正在执行的帧的行号。

请注意,根据文档,这是CPython(参考解释器)特有的功能:

  

CPython实现细节:此函数依赖于解释器中的Python堆栈框架支持,但不保证在Python的所有实现中都存在这种支持。如果在没有Python堆栈帧支持的实现中运行,则此函数返回None。

我不清楚框架的概念及其行号是否会存在于别处,但这在参考解释器上可以正常工作。这可能是便携式的(没有其他说明),但我无法确定:

inspect.stack()[0].lineno