在Sphinx文档中显示*only*docstring

Rei*_*ica 11 python documentation python-sphinx

Sphinx有一个称为automethod从方法的docstring中提取文档并将其嵌入到文档中的功能.但它不仅嵌入了docstring,还嵌入了方法签名(name + arguments).如何嵌入docstring(不包括方法签名)?

参考:http://sphinx.pocoo.org/ext/autodoc.html

Ale*_*lli 17

我想你要找的是:

from sphinx.ext import autodoc

class DocsonlyMethodDocumenter(autodoc.MethodDocumenter):
  def format_args(self):
    return None

autodoc.add_documenter(DocsonlyMethodDocumenter)
Run Code Online (Sandbox Code Playgroud)

根据当前的来源,这应该允许覆盖哪个类负责记录方法(旧版本的add_documenter禁止这样的覆盖,但现在它们是明确允许的).有format_args回无,当然,是在记录的方式autodoc说"不签字打扰".

我认为这是执行此任务的干净,架构方式,因此,优于monkeypatching替代方案.如果您需要使用一些旧版本,sphinx但是您可能确实需要monkeypatch(autodoc.MethodDocumenter.format_args=lambda _:None- eek! - ),但我建议升级sphinx到当前版本作为更好的方法,如果在您的特定部署中完全可行的话.