Gerade bestimmt wird um ein Beispiel für weitere Details zu geben.
Ich kann die folgenden zwei Dateien erstellen: config1.ini
# ** config1.ini **
[shared]
prop_uniue1 = 1
prop_shared = 10
[unique1]
test_unique = 101
und config2.ini
:
# ** config2.ini **
[shared]
prop_uniue2 = 2
prop_shared = 14
[unique2]
test_unique = 102
Dann, wenn ich folgendes laufen kann ich sehen, wie die configs aktualisiert werden (Ausgänge werden gezeigt, wie Kommentare nach den jeweiligen Druckauszügen):
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
So 363.210
zusammenzufassen es erscheinen würde:
- als @crasic sagt die Reihenfolge, in der die Dateien gelesen werden, wird durch die Reihenfolge bestimmt, in der die Dateinamen in der Liste angezeigt wird auf die Lesemethode gegeben,
- Die Schlüssel werden von späteren Dateien überschrieben, aber dies geschieht auf der niedrigeren Optionsebene als auf der höheren Abschnittebene. Dies bedeutet, dass Optionen, die in späteren Dateien nicht vorkommen, selbst wenn der Abschnitt auftritt, dann die Optionen aus den früheren Dateien verwendet werden.
Haben Sie versucht, mehrere Konfigurationsdateien zu erstellen und zu lesen, um zu sehen, was passieren würde? – snapshoe