我正在尝试使用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/

10-12 23:27