Я хотел бы определить несколько групп значений, где значения той или иной группы используются, если эта группа выбрана.Как определить и выбрать группы значений с помощью configobj?
Вот пример, чтобы сделать это более ясным:
[environment]
type=prod
[prod]
folder=data/
debug=False
[dev]
folder=dev_data/
debug=True
Затем, чтобы использовать его:
print config['folder'] # prints 'data/' because config['environment']=='prod'
Есть ли естественный или идиоматических способ сделать это в configobj или иначе?
Дополнительная информация
Мои текущие мысли перезапись или добавление к полученному объекту конфигурации с помощью какой-то логики пост разбора файла конфигурации. Однако это противоречит характеру конфигурационного файла и кажется, что для его проверки потребуется несколько сложная логика.
Это, по существу, возможно в configobj. Я просто хотел избежать 'if config ['environment'] ['type'] == 'prod'' всюду в коде ... – cammil
О, ладно, я этого не знал. Тогда почему бы просто не переключить файлы конфигурации, один для разработки и один для производства? – adrianus
@cammil Или глобально установить (при инициализации) переменную 'config' в список, который вы хотите, либо' [dev] ', либо' [prod] '... – adrianus