Justo para dar un ejemplo para más detalles.
puedo crear los dos archivos siguientes: config1.ini
# ** config1.ini **
[shared]
prop_uniue1 = 1
prop_shared = 10
[unique1]
test_unique = 101
y config2.ini
:
# ** config2.ini **
[shared]
prop_uniue2 = 2
prop_shared = 14
[unique2]
test_unique = 102
Entonces si yo ejecute el siguiente puedo ver cómo las configuraciones se actualizan (salidas se muestran como comentarios después de las respectivas declaraciones de impresión):
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
Entonces, para resumir parecería:
- como @crasic dice el orden en que se leen los archivos está determinada por el orden en que los nombres de los archivos aparecen en la lista dada al método de lectura,
- las claves son sobrescritas por archivos posteriores, pero esto se hace en el nivel de opción más bajo en lugar del nivel de sección superior. Esto significa que si tiene opciones que no aparecen en archivos posteriores, incluso si la sección ocurre, entonces se usarán las opciones de los archivos anteriores.
¿Ha intentado crear y leer múltiples archivos de configuración para ver qué pasaría? – snapshoe