2017-05-09 1 views
0

Ich versuche, ConfigParser mit der Einstellung einiger Standardwerte verwenden. Ich weiß, wie man diese Standardwerte einstellt, aber Probleme mit Ganzzahlen hat.ConfigParser verwenden Standard mit int-Werten

Hier ist mein Code:

import ConfigParser 

defaults = { 
    "str1": "val1", 
    "str2": "val2", 
    "int1": 10, 
    "int2": 20 
    } 

section = "some_section" 

config = ConfigParser(defaults) 

print config.get(section, "str1") 
print config.get(section, "str1") 
print config.getint(section, "int1") 
print config.getint(section, "int2") 

Die Standardwerte funktioniert gut, wenn einige der String-Werte sind nicht vorgesehen ist. Wenn jedoch einige Integer-Werte nicht angegeben werden und der Standardwert verwendet werden muss, wird die Ausnahme TypeError: argument of type 'int' is not iterable ausgelöst

Ich habe kein Beispiel für Ganzzahlen als Standardwerte gefunden. Irgendeine Hilfe?

Antwort

0

Also, während meiner Tests fand ich einige interessante Sachen. Einer von ihnen ist, dass Standardwert für ganze Zahlen und Boolesche Werte müssen (mit Ausnahme keine Werte) im Standardwörterbuch eingestellt als Strings werden:

defaults = { 
    "str1": "val1", 
    "str2": "val2", 
    "int1": "10", 
    "int2": "20", 
    "boolean1": "True", 
    "boolean2": "False", 
    "empty_var": None 
} 

Hinweis: booleans ConfigParser.getboolean

Jetzt nutzen extrahieren es funktioniert ;)

Verwandte Themen