有一个 @to_json 装饰器,它返回一个 json 字符串。如果你调用print(get_map.__name__)
,会出现错误,因为 get_map 已经是一个字符串。@wraps(func) 没有帮助。告诉我该怎么做?
import json
from functools import wraps
def to_json(func):
@wraps(func)
def wrapped():
result = json.dumps(func())
return result
return wrapped()
@to_json
def get_map():
return {
'number' : 100
}
print(get_map.__name__)
你不需要在装饰器中调用
wrapped()
,你只需要返回对函数的引用。更正,另外添加了参数*args
和**kwargs
例子:
结果: