Bei manchen python Scripts gibt es so viele Konfigurationen, dass das Steuern via Kommandozeilenparametern zu unübersichtlich werden würden. Für diesen Fall kann man mit dem Modul ConfigParser eine Konfigurationsdatei anlegen und diese
Das folgende Beispiel zeigt wie es benutzt wird. Falls noch keine Konfigurationsdatei besteht, wird eine neue angelegt und mit Standardwerten gefüllt.
import os import ConfigParser # Get configurations from file CONFIG_FILE = "cfg.conf" Config = ConfigParser.ConfigParser() # If the configuration file is not found, create a default configuration if not os.path.isfile(CONFIG_FILE): print "ERROR: Configuration file not found. Creating a default configuration" cfgfile = open(CONFIG_FILE,'w') # add the settings to the structure of the file, and lets write it out... Config.add_section('SectionOne') Config.set('SectionOne', 'OptionOne', 'ValueOne') Config.set('SectionOne', 'OptionTwo', 'ValueTwo') Config.add_section('SectionTwo') Config.set('SectionTwo', 'OptionOne', 'ValueOne') Config.write(cfgfile) cfgfile.close() Config.read(CONFIG_FILE) S_ONE_O_ONE = Config.get('SectionOne', 'OptionOne') S_ONE_O_TWO = Config.get('SectionOne', 'OptionTwo') S_TWO_O_ONE = Config.get('SectionTwo', 'OptionOne') print "Section one has two options, OptionOne set to: '{S_ONE_O_ONE}' and OptionTwo set to: '{S_ONE_O_TWO}'.".format(S_ONE_O_ONE = S_ONE_O_ONE, S_ONE_O_TWO=S_ONE_O_TWO) print "Section two has one option, OptionOne set to: '{S_TWO_O_ONE}'.".format(S_TWO_O_ONE = S_TWO_O_ONE) |