在 Python Sphinx 中,有没有办法隐藏 autodoc 设置代码?

Posted

技术标签:

【中文标题】在 Python Sphinx 中,有没有办法隐藏 autodoc 设置代码?【英文标题】:In Python Sphinx, is there a way to hide autodoc setup code? 【发布时间】:2015-08-13 20:38:37 【问题描述】:

我正在使用 Sphinx autodoc 来记录我的 Python 代码。我的文档中的示例包含:

我不想在 html 文档中呈现无趣的设置代码 应出现在文档中的代码

例如:

Then you process file `example.txt` with `frobnicate()`:

    >>> with open('example.txt', 'w') as f:
    ...     _ = f.write("first boring line\\n")
    ...     _ = f.write("second boring line\\n")

    >>> frobnicate('example.txt')
    True

我希望 Sphinx 自动文档隐藏无趣的设置代码,以便从 Sphinx 呈现的 HTML 输出仅包含:

Then you process file example.txt with frobnicate():

    >>> frobnicate('example.txt')
    True

显然我仍然希望 doctest 像往常一样执行整个示例。

【问题讨论】:

【参考方案1】:

您可以将无趣的设置代码放在testsetup 块中。

.. testsetup:: *

   with open('example.txt', 'w') as f:
       _ = f.write("first boring line\\n")
       _ = f.write("second boring line\\n")

Then you process file `example.txt` with `frobnicate()`:

>>> frobnicate('example.txt')
True

【讨论】:

我必须在设置行的开头使用>>>(但仍打算使用设置行)才能使其正常工作

以上是关于在 Python Sphinx 中,有没有办法隐藏 autodoc 设置代码?的主要内容,如果未能解决你的问题,请参考以下文章

Sphinx、reStructuredText 显示/隐藏代码片段

python代码docstring生成文档之sphinx

有没有办法从 python 3.x 中的测试脚本隐藏登录凭据

在一个 python 文件上运行 Sphinx 的最简单方法

如何让 sphinx 识别装饰的 python 函数

强制 Sphinx 在 Python 文档字符串中解释 Markdown 而不是 reStructuredText