我如何使用Sphinx在特定部分记录成员?

我正在努力弄清楚如何将我的Python类的特定成员的文档放在Sphinx文档的特定章节中,理想情况下是如何在另一部分中自动记录其余内容.

我有一个Python课

class MyClass(object):

    def funky(self, arg):
        """Some docs."""
        ...

在my / module.py中定义,它可以按预期工作,并且我可以使用

***************************
MyModule - :mod:`my.module`
***************************

.. automodule:: my.module

.. autoclass:: MyClass
   :members:
   :undoc-members:
   :show-inheritance:

但是,当我试图更好地控制文档的组织时,我无法正常工作.具体来说,我想在明确的部分中记录一些成员(这里仅显示一个,但是会有几个),其余成员作为一个组自动记录.

但是当我尝试例如

***************************
MyModule - :mod:`my.module`
***************************

To document
===========

Things that are not yet documented.

.. automodule:: my.module

.. autoclass:: MyClass
   :members:
   :undoc-members:
   :show-inheritance:
   :exclude-members: funky

Funky things
------------

Some funky things.

.. automethod:: funky

我懂了

WARNING: don’t know which module to import for autodocumenting u’funky’ (try placing a “module” or “currentmodule” directive in the document, or giving an explicit module name)

但没有变化

.. currentmodule:: my.module
.. class:: MyClass

.. automethod:: funky

要么

.. currentmodule:: my.module

   .. automethod:: funky

等把我带到任何地方.

如何在Sphinx文档的特定位置自动记录班级的某些成员?

解决方法:

这有效:

.. currentmodule:: my.module

.. automethod:: MyClass.funky

您可以跳过.. currentmodule ::并执行以下操作:

.. automethod:: my.module.MyClass.funky

第三种选择:

.. currentmodule:: my.module

.. autoclass:: MyClass   

   .. automethod:: funky
上一篇:python-Sphinx-自定义主题不起作用


下一篇:如何用Java文档记录我的Java方法?