ConfigParser使用默认值为int值

时间:2017-05-09 12:04:27

标签: python-2.7 int default-value configparser

我正在尝试使用ConfigParser设置一些默认值。我知道如何设置这些默认值但是整数有问题。

这是我的代码:

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的例外

我没有找到任何整数示例作为默认值。有什么帮助吗?

1 个答案:

答案 0 :(得分:2)

所以,在我的测试中,我发现了一些有趣的东西。 其中之一是整数和布尔值的默认值需要在默认字典中设置为字符串(None值除外):

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

注意:要使用ConfigParser.getboolean

提取布尔值

现在可行;)