Просто чтобы привести пример для более подробной информации.
Я могу создать следующие два файла: config1.ini
# ** config1.ini **
[shared]
prop_uniue1 = 1
prop_shared = 10
[unique1]
test_unique = 101
и config2.ini
:
# ** config2.ini **
[shared]
prop_uniue2 = 2
prop_shared = 14
[unique2]
test_unique = 102
Тогда, если я запускаю следующий я могу видеть, как конфиги обновляется (выходы показаны как комментарии после соответствующих заявлений о печати):
import ConfigParser
config = ConfigParser.ConfigParser()
config.read(['config1.ini', 'config2.ini'])
print config.sections() # ['shared', 'unique1', 'unique2']
print config.get("shared", "prop_uniue1") # 1
print config.get("shared", "prop_shared") # 14
print config.get("unique1", "test_unique") # 101
print config.get("shared", "prop_uniue2") # 2
print config.get("unique2", "test_unique") # 102
Итак, подведем итог, казалось бы:
- , как @crasic говорит порядок, в котором файлы считываются определяется порядком, в котором имена файлов отображаются в списке, приведенном в методе чтения,
- ключи перезаписываются более поздними файлами, но это делается на более низком уровне параметра, а не на более высоком уровне раздела. Это означает, что если у вас есть параметры, которые не встречаются в более поздних файлах, даже если этот раздел действительно существует, будут использоваться параметры из более ранних файлов.
Вы пытались создать и прочитать несколько файлов конфигурации, чтобы узнать, что произойдет? – snapshoe