Juste donner un exemple pour plus de détails.
Je peux créer les deux fichiers suivants: config1.ini
# ** config1.ini **
[shared]
prop_uniue1 = 1
prop_shared = 10
[unique1]
test_unique = 101
et config2.ini
:
# ** config2.ini **
[shared]
prop_uniue2 = 2
prop_shared = 14
[unique2]
test_unique = 102
Puis si j'exécutez ce qui suit, je peux voir comment les configs sont mis à jour (les sorties sont présentés comme commentaires après les déclarations d'impression respectives):
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
Donc, pour résumer, il semblerait:
- comme @crasic dit l'ordre dans lequel les fichiers sont lus est déterminé par l'ordre dans lequel les noms de fichiers apparaissent dans la liste donnée à la méthode de lecture,
- les clés sont remplacées par des fichiers plus récents, mais cela se fait au niveau de l'option inférieure plutôt qu'au niveau de la section supérieure. Cela signifie que si vous avez des options qui ne se produisent pas dans les fichiers suivants même si la section se produit, les options des fichiers précédents seront utilisées.
Avez-vous essayé de créer et de lire plusieurs fichiers de configuration pour voir ce qui se passerait? – snapshoe