Lev*_*sky 11 python documentation python-sphinx
我目前正在记录整个模块autodoc.但是,我在模块级别定义了几个包含长列表或dicts的变量.它们与值一起包含在文档中,并且值未格式化,因此看起来像10行混乱.我想要的是包含那些变量的docstring,但是要省略值或至少很好地格式化.
我试图从automodule指令中排除变量并添加它:
.. automodule:: foo.bar
:members:
:exclude-members: longstuff
.. py:data:: longstuff
Run Code Online (Sandbox Code Playgroud)
这导致只包含变量名,而文档字符串和值longstuff都没有出现在文档中.
如何保持文档字符串并同时删除值(或者格式良好)?提前致谢.
没有用于省略输出中模块级别变量值的简单配置设置。但是您可以通过修改autodoc.py中的DataDocumenter.add_directive_header()方法来实现。该方法的关键是
self.add_line(u' :annotation: = ' + objrepr, '<autodoc>')
Run Code Online (Sandbox Code Playgroud)
objrepr价值在哪里。
添加到conf.py的以下猴子补丁对我有用:
from sphinx.ext.autodoc import ModuleLevelDocumenter, DataDocumenter
def add_directive_header(self, sig):
ModuleLevelDocumenter.add_directive_header(self, sig)
# Rest of original method ignored
DataDocumenter.add_directive_header = add_directive_header
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
917 次 |
| 最近记录: |