修改装饰器中的docstring

时间:2013-11-18 10:14:34

标签: python flask decorator

我正在使用flask,并且一些函数有装饰器,以检查是否存在某些标头并返回一些错误代码(如果它们丢失)。

在这些装饰器中,在返回装饰函数之前,我会执行类似

的操作
decorated_function.__doc__ += "Returns 400 if the X-Version header is not present."

这是pythonic吗?有没有更好的方法来实现它?

我正在使用来自functools的包装。

1 个答案:

答案 0 :(得分:3)

def ModDoc(doc):
    def wrapped(func):
        func.__doc__ = doc
        return func
    return wrapped


@ModDoc("test2")
def test():
    """test"""
    return

print test.__doc__

将修改其应用的任何内容的文档字符串。请记住,这些更改纯粹是交互式的,不会显示在存储或自动生成的文档中。