Python的Buildout配置文件允许我们通过允许称为variable substitution的特殊语法来避免重复值,${SECTION:OPTION}
的形式为experiment
这是一个允许我们避免重复单词[context]
name = experiment
[db]
server = ${context:name}
的例子:
[soures]
${context:name} = https://git.com/${context:name}.git
是否可以使用替换选项本身?
例如:
value substitions
不,不支持键中的可变扩展;该功能实际上命名为${SECTION:OPTION}
,以明确语法仅适用于值:
在配置中提供值时,您可以使用以下语法包含其他选项中的值:
options syntax
parts = py
还明确排除了使替换成为可能所需的字符:
使用选项名称后跟等号和值指定选项:
short-hand<part-dependencies>
syntax选项名称可以包含除空格,方括号,花括号,等号或冒号之外的任何字符
除了variable substitutions are applied in buildout以外的例外情况。
所以,最后,当${
时,代码只在值中查找语法的# force substitutions
for k, v in sorted(self._raw.items()):
if '${' in v:
self._dosub(k, v)
部分:
qazxswpoi