ConfigParser 使用默认值和 int 值

ConfigParser use default with int values

我正在尝试使用 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 异常

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

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

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

注意:要提取布尔值,请使用 ConfigParser.getboolean

现在可以使用了 ;)