import inspect
def print_func_info(func):
def wrapper(*args,**kwargs):
frame = inspect.currentframe().f_back
filename = inspect.getframeinfo(frame).filename
lineno = inspect.getframeinfo(frame).lineno
print(f"Function '{func.__name__}' called from {filename}, line {lineno}")
return func(*args,**kwargs)
return wrapper
@print_func_info
def my_function():# 函数体
print('lall')
my_function()
python装饰器 打印行号,函数名,文件名
本文介绍了如何使用Python的inspect模块创建一个装饰器`print_func_info`,该装饰器在被装饰的函数执行前后打印其调用的文件名和行号,以帮助跟踪代码执行过程。
摘要由CSDN通过智能技术生成