Wystarczy dać przykład dla dalszych szczegółów.
mogę utworzyć następujące dwa pliki: config1.ini
# ** config1.ini **
[shared]
prop_uniue1 = 1
prop_shared = 10
[unique1]
test_unique = 101
i config2.ini
:
# ** config2.ini **
[shared]
prop_uniue2 = 2
prop_shared = 14
[unique2]
test_unique = 102
Następnie jeśli uruchomię następujące widzę jak configs aktualizowane (wyjścia są pokazane jako komentarze po odpowiednich instrukcjach drukowania):
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
więc podsumować wydaje:
- jak @crasic mówi kolejność, w której pliki są czytane zależy od kolejności, w jakiej pojawiają się nazwy plików na liście danej metody odczytu,
- klucze są zastępowane późniejszymi plikami, ale odbywa się to na niższym poziomie opcji, a nie na wyższym poziomie sekcji. Oznacza to, że jeśli masz opcje, które nie występują w późniejszych plikach, nawet jeśli sekcja się pojawi, to zostaną użyte opcje z wcześniejszych plików.
Czy próbowałeś tworzyć i czytać wiele plików konfiguracyjnych, aby zobaczyć, co by się stało? – snapshoe