11

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

参考:http ://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html

4

1 回答 1

17

我认为您正在寻找的是:

from sphinx.ext import autodoc

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

autodoc.add_documenter(DocsonlyMethodDocumenter)

根据当前的来源,这应该允许覆盖负责记录方法的类(旧版本add_documenter禁止此类覆盖,但现在明确允许)。当然format_args,返回 None 是记录autodoc“不要打扰签名”的方式。

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

于 2009-09-06T01:37:46.583 回答