Python Sphinx autodoc替换标准:成员:

Python Sphinx autodoc替换标准:成员:,python,python-sphinx,autodoc,Python,Python Sphinx,Autodoc,所以我决定做这样的事情: 我需要 .. automodule:: main :members: 但是具有 This is my caption ------------------ .. autodata:: CAPTION About my caption 因此,我需要写一些关于每个函数、方法和类的东西,但与此同时,我需要在代码中创建的所有新函数都将出现在文档中,而无需编辑文档。可以从以下位置执行吗?: 没有docstring的成员将被忽略,除非您提供undoc成员标志选项

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

我需要

.. automodule:: main
   :members:
但是具有

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

.. autodata:: CAPTION

   About my caption
因此,我需要写一些关于每个函数、方法和类的东西,但与此同时,我需要在代码中创建的所有新函数都将出现在文档中,而无需编辑文档。可以从以下位置执行吗?

没有docstring的成员将被忽略,除非您提供undoc成员标志选项:

.. automodule:: noodle
   :members:
   :undoc-members:
此外,如果提供了Private members flag选项,则将包括“Private”成员(即,命名为like u Private或uu Private的成员),如果提供了special members flag选项,则将包括Python“special”成员(即命名为like u special u的成员):

.. autoclass:: my.Class
   :members:
   :private-members:
   :special-members:
最后!可以使用常规语法覆盖显式记录的可调用对象(函数、方法、类)的签名,该语法将覆盖通过内省获得的签名:

.. autoclass:: Noodle(type)

   .. automethod:: eat(persona)
在我在答案开头贴出的链接中有很多有用的信息。查看它,了解更高级的代码文档编制方法。

来自:

没有docstring的成员将被忽略,除非您提供undoc成员标志选项:

.. automodule:: noodle
   :members:
   :undoc-members:
此外,如果提供了Private members flag选项,则将包括“Private”成员(即,命名为like u Private或uu Private的成员),如果提供了special members flag选项,则将包括Python“special”成员(即命名为like u special u的成员):

.. autoclass:: my.Class
   :members:
   :private-members:
   :special-members:
最后!可以使用常规语法覆盖显式记录的可调用对象(函数、方法、类)的签名,该语法将覆盖通过内省获得的签名:

.. autoclass:: Noodle(type)

   .. automethod:: eat(persona)

在我在答案开头贴出的链接中有很多有用的信息。查看一下它,了解更高级的代码文档化方法。

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

我不确定它是否是您要寻找的,但解决了我的问题,它包含在这里,供任何可能发现它有用的人使用

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

.. automodule

对于源代码树中的每个模块,希望这对我在搜索解决方案时有所帮助,以将我在代码中拥有的所有模块、方法和函数包含到我偶然发现的文档中

我不确定它是否是您要寻找的,但解决了我的问题,它包含在这里,供任何可能发现它有用的人使用

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

.. automodule

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

已经将此页面翻了10遍,以及sphinx wiki上的其他页面+大量stackoverflow线程:)也许我问错了,我想做的是使用:members:(也许:undoc members:)因此,当我向我的项目添加代码时,它将出现在sphinx文档中,而不会受到我的干扰。但我还需要能够为每个类/函数/变量添加一些信息,因为我喜欢没有注释的干净代码,并且我的项目中几乎没有docstring。此外,我刚刚注意到,sphinx完全忽略了方法中的所有变量。。。这有点奇怪和糟糕,因为我有一个类和很多函数,其中包含重要的循环和变量。如果你是唯一一个阅读代码的人,那么没有docstring可能是可以的,但实际上这是一个糟糕的做法。许多程序员先读代码,然后再编写文档,所以考虑至少有一些基本的文档字符串,至少可以描述这个东西在做什么,当然避免明显的东西。另外,:members:和:undoc members:将完全按照您的要求执行。如果这对您不起作用,您在其他地方遇到了问题,您在生成文档时是否遇到任何错误?此外,Sphinx不会在函数中记录您的周期和其他逻辑,只记录其签名。已将此页面翻了10遍,以及Sphinx wiki上的其他页面+大量stackoverflow线程:)可能我问错了,我要做的是使用:成员:(可能:undoc成员:)因此,当我向我的项目添加代码时,它将出现在sphinx文档中,而不会受到我的干扰。但我还需要能够为每个类/函数/变量添加一些信息,因为我喜欢没有注释的干净代码,并且我的项目中几乎没有docstring。此外,我刚刚注意到,sphinx完全忽略了方法中的所有变量。。。这有点奇怪和糟糕,因为我有一个类和很多函数,其中包含重要的循环和变量。如果你是唯一一个阅读代码的人,那么没有docstring可能是可以的,但实际上这是一个糟糕的做法。许多程序员先读代码,然后再编写文档,所以考虑至少有一些基本的文档字符串,至少可以描述这个东西在做什么,当然避免明显的东西。另外,:members:和:undoc members:将完全按照您的要求执行。如果这对您不起作用,您在其他地方遇到了问题,您在生成文档时是否遇到任何错误?此外,Sphinx不会记录函数中的循环和其他逻辑,只记录它的签名。