Konfigurationsdateien für python Scripts

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)

Published by

Steven Varco

Steven ist ein Redhat RHCE-Zertifizierter Linux-Crack und ist seit über 20 Jahren sowohl beruflich wie auch privat auf Linux spezialisiert. In seinem Keller steht ein Server Rack mit diversen ESX und Linux Servern.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.