Hallo zusammen
Ich habe ein INI-File mit mehreren Sections und Keys.
In der Section [GENERAL] habe ich mehrere Keys, die ich alle in mein Python Programm einlesen möchte.
Ich möchte also alle Keys, die in der Section GENERAL vorhanden sind, in Variablen einlesen, wobei der Key-Name dem Variablen-Namen entspricht.
Habe leider mit Google noch nicht herausgefunden, wie das geht.
Kann mir da jemand weiterhelfen?
INI-File:
[GENERAL]
VARIABLE1 = "Hallo"
VARIABLE2 = "Welt"
[SECTION2]
VARIABLE3 = "Diese Variable soll nicht eingelesen werden, da nicht in globaler Section"
In Python habe ich schon folgendes drin:
import configparser
config = configparser.ConfigParser()
INI_FILE = 'test.ini'
config.read( INI_FILE )
Hab mal an config.read_dict gedacht, habe das aber nicht zum Laufen gekriegt.
Besten Dank für eure Unterstützung.
Gruss Rolf
configparser - alle Keys in Variablen übernehmen
Laut dem alten Motto "Explicit is better than implicit" wuerde ich das erstmal einfach nur simpel zuweisen, also
Die Syntax zum Zugriff auf den config-parser habe ich gerade etwas geraten, aber das Prinzip wird hoffentlich klar.
Code: Alles auswählen
einstellung_x = config["GENERAL"]["einstellung_x"]
Hallo deets
Besten Dank!
Ja, so kann ich einen einzelnen Key auslesen.
Das Programm wird eben ziemlich umfangreich und die Section GENERAL hat ca. 200 Keys.
Daher dachte ich, es gäbe vielleicht einen Weg, wie ich gleich alle Keys einer Section einlesen könnte, damit ich nicht 200 Variablen "von Hand" in den Code schreiben muss.
Ich könnte das ja auch in eine for-Schleife packen, nur habe ich bisher leider nicht herausfinden können, wie ich mir die Keys einer Section anzeigen lassen kann.
for name in config.keys():
print(name)
Das bringt mir eine Liste der Sections, aber nicht der darunterliegenden Keys.
Gruss Rolf
Besten Dank!
Ja, so kann ich einen einzelnen Key auslesen.
Das Programm wird eben ziemlich umfangreich und die Section GENERAL hat ca. 200 Keys.
Daher dachte ich, es gäbe vielleicht einen Weg, wie ich gleich alle Keys einer Section einlesen könnte, damit ich nicht 200 Variablen "von Hand" in den Code schreiben muss.
Ich könnte das ja auch in eine for-Schleife packen, nur habe ich bisher leider nicht herausfinden können, wie ich mir die Keys einer Section anzeigen lassen kann.
for name in config.keys():
print(name)
Das bringt mir eine Liste der Sections, aber nicht der darunterliegenden Keys.
Gruss Rolf
Wenn du 200 Variablen hast, dann musst du 200 Variablen hinschreiben. Spaetestens an der Stelle, an der du die benutzen willst. Oder du arbeitest eben mit einem Woerterbuch. Aber die automatisch in Variablen zu ueberfuehren ist nicht der richtige Weg. Ich wuerde auch gerne verstehen, warum du 200 Einstellungen hast. Das klingt etwas sehr viel, und sollte ggf. anders geloest werden.
Das geht ganz analog:
Und man könnte mit dem Section-Objekt weiterarbeiten, oder einfach in ein Wörterbuch unwandeln: `dict(config['GENERAL'])`.
Das mit den Variablen vergisst Du einfach gleich wieder.
Code: Alles auswählen
for name in config['GENERAL']:
print(name)
Das mit den Variablen vergisst Du einfach gleich wieder.