在 Python 中获取文件名和行号
在处理实际应用程序或副项目时,我们经常需要检索行号和文件名以进行调试。通常,这样做是为了了解何时执行什么代码,或者分析任何应用程序的控制流。在本文中,我们将学习如何使用 Python 获取 Python 脚本的行号和文件名。
在 Python 中获取文件名和行号
要从正在执行的 Python 脚本中获取文件名和行号,我们可以使用 Python 的 inspect
模块。inspect
模块包含几个实用程序来获取有关对象、类、方法、函数、框架对象和代码对象的信息。这个库有一个 getframeinfo()
方法,用于检索有关框架或回溯对象的信息。此方法接受一个 frame
参数,它检索有关该参数的详细信息。currentFrame()
方法返回调用者堆栈帧的帧对象。我们可以将这些实用程序用于我们的用例。请参考以下 Python 代码了解用法。
from inspect import currentframe, getframeinfo
frame = getframeinfo(currentframe())
filename = frame.filename
line = frame.lineno
print("Filename:", filename)
print("Line Number:", line)
输出:
Filename: full/path/to/file/main.py
Line Number: 3
正如我们所见,filename
属性将返回 Python 文件的完整路径。在我的例子中,Python 文件的名称是 main.py
;因此,它在输出中显示 main.py
。并且,lineno
属性返回执行此 frame = getframeinfo(currentframe())
语句的行号。上述语句在 3
行执行;因此输出在行号
标签后有一个 3
。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。