Sphinx文档常量替换

1 投票
1 回答
1279 浏览
提问于 2025-04-18 04:14

我在用Sphinx为我的Python项目生成文档。我需要在文档中描述一些默认值。但是我不想把代码中的值复制粘贴到文档字符串里,因为这样以后可能会出现不一致的情况。所以我想问:有没有办法把常量的引用替换成它的值呢?

我说的类似于这个(我自己编造了一个:py:const_value:指令):

DEFAULT = 123

class Foo:
   """Default value for something is :py:const_value:`DEFAULT`."""

我希望生成的文档是这样的:

某个东西的默认值是123。

我试着搜索过,但我担心Sphinx里没有这样的功能,或者“常量替换”这个说法不太对。

如果在Sphinx里做不到,有没有其他方法可以避免这种重复呢

1 个回答

2

根据sphinx的文档(reStructuredText入门),你能做到的最接近的方式是使用替换,这个替换是通过replace::这种标记来创建的。例如:

.. |PI| replace:: 3.1415

The value of PI is |PI|.

这段代码应该会生成

The value of PI is 3.14159.

另外一种可能的方式是使用python领域指令:py:const:,这个指令会插入一个链接,指向这个值的定义,而不是直接替换成实际的值。

撰写回答