Proprio per dare un esempio per ulteriori dettagli.
posso creare i seguenti due file: config1.ini
# ** config1.ini **
[shared]
prop_uniue1 = 1
prop_shared = 10
[unique1]
test_unique = 101
e config2.ini
:
# ** config2.ini **
[shared]
prop_uniue2 = 2
prop_shared = 14
[unique2]
test_unique = 102
Poi se corro il seguente posso vedere come il file di configurazione vengono aggiornati (le uscite sono mostrati come commenti dopo le rispettive dichiarazioni di stampa):
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
.210
Quindi, per riassumere sembrerebbe:
- come @crasic dice l'ordine in cui vengono letti i file è determinato dall'ordine in cui i nomi dei file vengono visualizzati nell'elenco dato al metodo read,
- i tasti vengono sovrascritti dai file successivi, ma questo viene eseguito a livello di opzione inferiore anziché a livello di sezione superiore. Ciò significa che se si dispone di opzioni che non si verificano nei file successivi, anche se la sezione si verifica, verranno utilizzate le opzioni dei file precedenti.
fonte
2017-05-30 15:35:42
Hai provato a creare e leggere più file di configurazione per vedere cosa accadrebbe? – snapshoe