【发布时间】:2023-03-19 01:30:02
【问题描述】:
是否可以从另一个部分引用 ini 中的变量?
我知道你可以做到以下几点
[env]
dir = /home/a
dir2 = %(dir)s/b
但是如果我有两个部分并且想要引用该部分中的变量会发生什么?
[env]
name = DEV
[dir]
home = /home/<name from env here>/scripts
谢谢
【问题讨论】:
是否可以从另一个部分引用 ini 中的变量?
我知道你可以做到以下几点
[env]
dir = /home/a
dir2 = %(dir)s/b
但是如果我有两个部分并且想要引用该部分中的变量会发生什么?
[env]
name = DEV
[dir]
home = /home/<name from env here>/scripts
谢谢
【问题讨论】:
请参阅configparser 上的文档。创建具有扩展插值的解析器。使用${section:option} 语法来引用其他部分的选项。
from configparser import ConfigParser, ExtendedInterpolation
parser = ConfigParser(interpolation=ExtendedInterpolation())
parser.read_string('''[env]
name = DEV
[dir]
home = /home/${env:name}/scripts
''')
print(parser['dir']['home'])
【讨论】:
Python 2.x 不支持交叉引用。从另一个部分。
但您可以使用 [DEFAULT]。本节中的定义是特别共享的。
【讨论】: