python 中,我有一个 task001.py,在这个程序中如何获得运行的函数名字和文件名呢?
在 Python 中,你可以使用内置的 inspect
模块来获取当前运行的函数名称和文件名。以下是一个示例,展示了如何在 task001.py
中实现这一点:
import inspect
def get_current_function_info():
# 获取当前调用的堆栈信息
frame = inspect.currentframe()
# 获取调用者的帧
caller_frame = frame.f_back
# 获取函数名称
function_name = caller_frame.f_code.co_name
# 获取文件名
file_name = caller_frame.f_code.co_filename
return function_name, file_name
def example_function():
function_name, file_name = get_current_function_info()
print(f"当前函数名: {function_name}")
print(f"当前文件名: {file_name}")
if __name__ == "__main__":
example_function()
在这个示例中,get_current_function_info
函数使用 inspect.currentframe()
获取当前的堆栈帧,然后通过 f_back
属性获取调用者的帧。接着,它从调用者的帧中提取函数名称和文件名。
当你运行 task001.py
时,example_function
会被调用,并且会打印出当前函数的名称和文件名。