在 Python 中获取文件名和行号

Vaibhav Vaibhav 2022年5月17日
在 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

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

LinkedIn GitHub

相关文章 - Python File