如何在sphinx autodoc中有选择地隐藏模块文档字符串?

时间:2017-03-22 10:08:44

标签: python python-sphinx autodoc

在autodoc中,我知道您可以隐藏所有模块的文档字符串,如下所述:  Exclude module docstring in autodoc

但有没有办法为某些模块而不是其他模块执行此操作,可能将某些参数传递给automodule?换句话说,对于给定的模块,我希望有时包括文档字符串,有时会跳过它。如果我这样做:

.. automodule:: foo
   :members: foo, foo.bar

Sphinx为foo和foo.bar生成文档字符串。但是,做

.. automodule:: foo
   :members: foo.bar

不会隐藏模块docstring。

1 个答案:

答案 0 :(得分:1)

要隐藏模块的文档字符串,请使用指令的相应普通py域版本:py:modulepy:currentmodule。前者用于记录模块的主要位置,并且只应出现一次。后者适用于您需要相同名称解析属性的其他位置,但不能将其作为模块的官方文档位置。

所有autodoc域指令都将遵循常规py域指令设置的命名范围。来自文档:

  

注意

     

正如py:class尊重当前py:module一样,autoclass也会这样做。同样,automethod会尊重当前的py:class