AutoDoc可以用来执行文档字符串中的代码吗?

2022-04-21 00:00:00 python python-sphinx autodoc doctest

问题描述

当使用Sphinx和AutoDoc来记录一个Python项目时,您可以使用:Example:在您的模块/类/函数文档字符串中包含一个代码样例,Sphinx将友好地为您突出显示它的语法。大概是这样的。

>>> rng = Range(0, 1000)
>>> rng
[0, 1000)
>>> len(rng)
1000
>>> rng.start = 500
>>> rng.start
500
>>> rng.end
1000
>>> 

我从Python解释器复制并粘贴了这段代码。有没有办法让Sphinx或AutoDoc自动执行代码并为文档捕获输出?

我主要担心复制和粘贴的代码/输出与当前的实际代码行为不同步。


解决方案

标准库包括doctest,可以从文本文件或文档字符串中识别、执行和验证交互示例。

相关文章