Доступ к значению ключа раздела из другого раздела в config.ini - PullRequest
0 голосов
/ 29 мая 2020

У меня есть файл config.ini

[env]
name = local

[dir]
proj_home = /apps/${env:name}/project

Python код:

config = configparser.ConfigParser()
config.read('config.ini')
projHome = config.get('dir', 'proj_home')

Но прибывает значение projHome '/ apps / $ {env: name} / project ', это должно быть' / apps / local / project '

Я что-то не так делаю в синтаксисе?

1 Ответ

2 голосов
/ 29 мая 2020

Этот синтаксис ${section:option} доступен только при использовании расширенной интерполяции :

>>> cf = configparser.ConfigParser(interpolation=configparser.ExtendedInterpolation())
>>> cf.add_section('env')
>>> cf.set('env', 'name', 'local')
>>> cf.add_section('dir')
>>> cf.set('dir', 'proj_home', '/apps/${env:name}/project')
>>> cf.get('dir', 'proj_home')
'/apps/local/project'
...