2017-05-09 4 views
0

ConfigParserをデフォルト値の設定で使用しようとしています。私はそれらのデフォルト値を設定する方法を知っていますが、整数に問題があります。文字列値の一部が提供されていないときConfigParserはデフォルトでint値を使用します

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") 

デフォルト値は正常に動作します:

は、ここに私のコードです。 しかし、一部の整数値が提供されておらず、デフォルト値を使用する必要がある場合は、

デフォルト値として整数の例は見つかりませんでした。どんな助け?

答えて

0

私のテストでは、興味深いものがいくつか見つかりました。 そのうちの一つは、整数およびブール値のデフォルト値は(なし値を除く)は、デフォルトの辞書内の文字列として設定する必要があるということである。

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

注:ブールはConfigParser.getboolean

を使用し抽出するためには、今では動作します;)

関連する問題