2017-05-09 107 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") 

的默認值工作正常。 但是,當一些整數值沒有提供並且需要使用默認值時,拋出的TypeError: argument of type 'int' is not iterable的例外

我沒有找到整數的任何示例作爲默認值。任何幫助?

回答

0

因此,在我的測試中,我發現了一些有趣的東西。 其中之一是對於整數該默認值和布爾值需要被設置爲默認字典的字符串(除無值):

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

注:提取布爾使用ConfigParser.getboolean

現在,它的工作原理;)