Python sphinx 斯芬克斯文档变量

Python sphinx 斯芬克斯文档变量,python-sphinx,Python Sphinx,我正在为我的一个项目使用Sphinx文档创建文档,我在整个文档中多次使用一些单词,例如IP地址、端口号和许多其他可能随时间变化的内容。如果出于某种原因,其中一个文件将被更改,我只想在一个地方更改它,而不是在每个文件中手动更改。我正在寻找的是创建某种资源文件/变量的简单方法,可以从我的所有.rst文件轻松访问这些资源文件/变量 我发现了一个: 这几乎是完美的,但我想有很多变量。使用上面的方法,我只能使用一个-这是不够的 我还找到了使用sphinx.ext.extlinks的方法。它在工作,但不是我

我正在为我的一个项目使用Sphinx文档创建文档,我在整个文档中多次使用一些单词,例如IP地址、端口号和许多其他可能随时间变化的内容。如果出于某种原因,其中一个文件将被更改,我只想在一个地方更改它,而不是在每个文件中手动更改。我正在寻找的是创建某种资源文件/变量的简单方法,可以从我的所有.rst文件轻松访问这些资源文件/变量

我发现了一个:

这几乎是完美的,但我想有很多变量。使用上面的方法,我只能使用一个-这是不够的

我还找到了使用
sphinx.ext.extlinks
的方法。它在工作,但不是我想要的方式。我在我的
conf.py
中使用这个:

extlinks = {'test': ('bla_bla_bla', None)}
然后,在一些.rst中:

:test:`1`
结果是
bla_bla_bla1

首先,这是一个无处链接。第二,我不会写字

:test:` `
甚至只是
:测试:
,因为它不起作用


我的问题来了:有没有简单的方法来创建可以在整个文档中使用的变量?

多亏了mzjn我找到了我问题的确切答案。若将来有人会搜索它,我在下面留下了答案

在我的
conf.py
中,我添加了以下内容:

address = '192.168.1.1'
port = 'port 3333'

rst_prolog = """
.. |address| replace:: {0}
.. |port| replace:: {1}
""".format(
address, 
port
)
然后在我的.rst中,只需使用:

|address| - |port|

结果为192.168.1.1-端口3333。这正是我需要的。非常感谢mzjn

您可以在
rst\u epilog
中进行多个替换。例子:
|address| - |port|