0

Ich habe das folgende Befehlszeilenargument für einen Python-Skript:Was ist das äquivalente von Python-Befehlszeilenargument 'default' bei Verwendung der Konfigurationsdatei?

command_parser.add_argument("--wateva", help="Don't care.", default=42) 

Jetzt muß ich von den Kommandozeilenargumenten zu Config-Datei wechseln, da das Skript so viel gewachsen ist, und es ist unmöglich, all Argumente zu übergeben ohne einen Tippfehler zu haben.

Wie befestige ich die Standardwerte für Argumente, die aus einer Konfigurationsdatei in Python gelesen werden (das heißt config = configparser.ConfigParser())

Antwort

0

Standardwerte können sie als Wörterbuch in den ConfigParser Konstruktor, indem angegeben werden.

import ConfigParser 

# New instance with 'bar' and 'baz' defaulting to 'Life' and 'hard' each 
config = ConfigParser.SafeConfigParser({'bar': 'Life', 'baz': 'hard'}) 
config.read('example.cfg') 

print config.get('Section1', 'foo') # -> "Python is fun!" 
config.remove_option('Section1', 'bar') 
config.remove_option('Section1', 'baz') 
print config.get('Section1', 'foo') # -> "Life is hard!" 
+0

Wie sieht die 'example.cfg' aus? Wie kann ich Ihre Antwort mit verschiedenen Abschnitten in der Konfigurationsdatei verwenden? –