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
现在可以使用了 ;)
我正在尝试使用 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
现在可以使用了 ;)