Sphinx autodoc取代标准:成员:

时间:2014-05-05 05:39:28

标签: python python-sphinx autodoc

所以我决定做这样的事情:

我需要

.. automodule:: main
   :members:

但功能为

This is my caption
------------------

.. autodata:: CAPTION

   About my caption

所以,我需要写一些关于每个函数,方法和类的内容,但是我需要在代码中创建的所有新函数都将出现在文档中,而无需编辑文档。有可能吗?

2 个答案:

答案 0 :(得分:2)

来自docs

除非您提供undoc-members标志选项,否则将忽略没有文档字符串的成员:

.. automodule:: noodle
   :members:
   :undoc-members:

此外,如果给出private-members标志选项并且将包含Python“特殊”成员(即名为__special__的那些成员),则将包括“私有”成员(即,名为_private或__private的成员)如果给出了特殊成员标志选项:

.. autoclass:: my.Class
   :members:
   :private-members:
   :special-members:

最后!可以使用常规语法覆盖明确记录的可调用对象(函数,方法,类)的签名,该语法将覆盖从内省获得的签名:

.. autoclass:: Noodle(type)

   .. automethod:: eat(persona)

在答案开头我发布的链接中有更多有用的信息。看看它有关记录代码的更高级方法。

答案 1 :(得分:2)

当我在寻找解决方案,将我在代码中包含的所有模块,方法和函数包含在文档中时,我偶然发现了这个问题。

我不确定这是你在寻找什么但解决了我的问题,并且它包含在任何可能发现它有用的人Github HyperSpy Repo

有一个很好的小bash脚本,可以筛选代码并编写正确的

chainer.training.triggers.IntervalTrigger

对于源代码树中的每个模块,希望有所帮助