Was ist die beabsichtigte Verwendung des STANDARD Abschnitt in Konfigurationsdateien, die von ConfigParser?

StackOverflow https://stackoverflow.com/questions/124692

Frage

Ich habe ConfigParser für eine ganze Weile für einfache Konfigurationen verwendet. Eine Sache, die mich für eine lange Zeit abgehört hat ist die Standard-Seite. Ich bin nicht wirklich sicher, was ist eine angemessene Nutzung. Ich habe die Dokumentation zu lesen, aber ich würde wirklich gerne ein paar cleveren Beispiele für seine Verwendung sehen und wie wirkt es andere Abschnitte in der Datei (etwas, das wirklich die Art der Dinge zeigt, die möglich sind).

War es hilfreich?

Lösung

Ich fand eine Erklärung hier durch für „Fenster ini“ „default Abschnitt“ googeln. Zusammenfassung: was auch immer Sie im Abschnitt [Default] gesetzt wird zu jedem anderen Abschnitt propagiert. Am Beispiel von der Website verlinkt sind, lassen Sie uns sagen, dass ich eine Konfigurationsdatei namens TEST1.INI:

[host 1]
lh_server=192.168.0.1
vh_hosts = PloneSite1:8080
lh_root = PloneSite1

[host 2]
lh_server=192.168.0.1
vh_hosts = PloneSite2:8080
lh_root = PloneSite2

Ich kann dies mit ConfigParser lesen:

>>> cp = ConfigParser.ConfigParser()
>>> cp.read('test1.ini')
['test1.ini']
>>> cp.get('host 1', 'lh_server')
'192.168.0.1'

Aber ich merke, dass lh_server ist das gleiche in beiden Abschnitten; und in der Tat, merke ich, dass es das gleiche für die meisten Wirte sein wird wie ich hinzufügen möchte. So kann ich dies tun, als test2.ini:

[DEFAULT]
lh_server=192.168.0.1

[host 1]
vh_root = PloneSite1
lh_root = PloneSite1

[host 2]
vh_root = PloneSite2
lh_root = PloneSite2

Trotz der Abschnitte nicht lh_server Schlüssel hat, kann ich sie noch zugreifen:

>>> cp.read('test2.ini')
['test2.ini']
>>> cp.get('host 1', 'lh_server')
'192.168.0.1'

Lesen Sie die verknüpfte Seite für ein weiteres Beispiel für die Variablensubstitution in dem STANDARD-Abschnitt mit der INI-Datei noch mehr zu vereinfachen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top