如何实现可获取当前代码行号的this_line()函数?无需复杂操作
实现
this_line()获取当前代码行号的简单方案 当然可以!而且实现起来特别简单,Python标准库就提供了直接的工具来搞定这个需求,完全不用复杂操作。
你只需要借助内置的inspect模块,它能帮我们获取调用栈的帧信息,从而拿到调用this_line()的那一行的行号。具体实现代码如下:
import inspect def this_line(): # 取调用栈的上一层帧(也就是调用this_line()的代码所在帧),获取其行号 return inspect.currentframe().f_back.f_lineno
接下来测试一下你给出的场景:
# 行1 # 行2 print('this line is the n°{}'.format(this_line())) # 行3 # 行4
运行这段代码,输出结果就是:
this line is the n°3
完美符合你的预期!这个方法轻量又实用,你可以在需要标记的代码行调用this_line(),提前打印出行号,后续修改代码的时候就能直接定位到目标行,非常方便。
内容的提问来源于stack exchange,提问作者Aurélien Tronc
相关产品推荐
相关产品推荐

