使用Sphinx记录时省略(或格式化)变量的值

问题描述 投票:11回答:1

我目前正在用autodoc记录整个模块。但是,我在模块级别定义了几个包含长列表或字典的变量。它们与值一起包含在文档中,并且值是未格式化的,因此看起来像10行混乱。我想要的是包含这些变量的文档字符串,但要忽略这些值或至少将它们格式化好。

我试图从autodoc指令中排除该变量,并像这样添加它:

automodule

这导致仅包含变量名,而文档字符串和.. automodule:: foo.bar :members: :exclude-members: longstuff .. py:data:: longstuff 的值均未出现在文档中。

我如何保留文档字符串并同时删除值(或使其格式正确?)?

python documentation python-sphinx autodoc
1个回答
5
投票

没有简单的配置设置来省略输出中模块级别变量的值。但是您可以通过修改longstuff中的DataDocumenter.add_directive_header()方法来实现。该方法的关键行是

autodoc.py

其中self.add_line(u' :annotation: = ' + objrepr, '<autodoc>') 是值。

以下添加到conf.py的猴子补丁对我有用:

objrepr
© www.soinside.com 2019 - 2024. All rights reserved.