1. 问题:
怎样获取模块中函数头上装饰器的参数信息?
2. 解决方法:
- 示例:
# 函数存储文件:demotest.py
def decorator_with_args(arg1, arg2):
def decorator(func):
def wrapper(*args, **kwargs):
print("装饰器参数:", arg1, arg2)
result = func(*args, **kwargs)
return result
return wrapper
return decorator
@decorator_with_args("hello", "world")
def decorated_func_1():
print("被装饰的函数_1")
@decorator_with_args("/routePath", "param")
def decorated_func_2():
print("被装饰的函数_2")
# 读取信息文件
def get_wrapper_info(python_file_path):
with open(python_file_path, "r", encoding="utf-8") as file:
line = file.readlines()
wrapper_list = [items[items.index("("):-1] for items in line if items.startswith("@")]
return wrapper_list
if __name__ == '__main__':
print(get_wrapper_info(r"D:\codestore\practiseProject\demotest.py"))
- 示例结果: