在Python中记录源文件名和行号,可以使用内置的inspect
模块。inspect
模块提供了诸如检查模块、类、函数等对象的功能。通过inspect
模块的getfile()
和findsource()
方法,可以获取源文件名和行号。
以下是一个示例代码:
import inspect
def my_function():
# 获取当前帧
current_frame = inspect.currentframe()
# 获取源文件名和行号
file_name, line_number, _, _, _ = inspect.getouterframes(current_frame)[1]
# 输出源文件名和行号
print(f"File: {file_name}, Line: {line_number}")
my_function()
在这个示例中,inspect.currentframe()
获取当前帧,然后inspect.getouterframes()
方法获取调用my_function()
的文件名和行号。最后,将文件名和行号输出。
需要注意的是,inspect
模块只能获取到已经加载的模块的源代码信息,对于未加载的模块无法获取源代码信息。
领取专属 10元无门槛券
手把手带您无忧上云