我正在尝试使用Sphinx来记录我的Python类。我这样做是使用autodoc:
.. autoclass:: Bus
:members:
虽然它可以正确地获取我的方法的文档字符串,但这些字符串是经过修饰的:
@checkStale
def open(self):
"""
Some docs.
"""
# Code
与
@checkStale
被def checkStale(f):
@wraps(f)
def newf(self, *args, **kwargs):
if self._stale:
raise Exception
return f(self, *args, **kwargs)
return newf
具有错误的原型(prototype),例如
open(*args, **kwargs)
。我怎样才能解决这个问题?我的印象是,使用
@wraps
可以解决这种问题。 最佳答案
扩展我的评论:
正如您在评论中所问的那样,decorator包不是标准库的一部分。
您可以使用以下代码(未经测试)回退:
try:
from decorator import decorator
except ImportError:
# No decorator package available. Create a no-op "decorator".
def decorator(f):
return f
关于python - Python Sphinx autodoc和装饰成员,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3687046/