这是我的示例脚本:
import ConfigParser
config = ConfigParser.ConfigParser()
config.read('conf.ini')
print bool(config.get('main', 'some_boolean'))
print bool(config.get('main', 'some_other_boolean'))
这是conf.ini
:
[main]
some_boolean: yes
some_other_boolean: no
运行脚本时,它会两次打印True
。为什么?它应为False
,因为some_other_boolean
设置为no
。
答案 0 :(得分:23)
使用getboolean()
:
print config.getboolean('main', 'some_boolean')
print config.getboolean('main', 'some_other_boolean')
RawConfigParser.getboolean(section, option)
一种便捷方法,它将指定部分中的选项强制转换为布尔值。请注意,该选项的可接受值为“1”,“yes”,“true”和“on”,这会导致此方法返回True,并且“0”,“no”,“false”和“off” “,导致它返回False。以不区分大小写的方式检查这些字符串值。任何其他值都会导致它引发ValueError。
bool()
构造函数将空字符串转换为False。非空字符串为True。 bool()
对“假”,“不”等没有特别的做法。
>>> bool('false')
True
>>> bool('no')
True
>>> bool('0')
True
>>> bool('')
False
答案 1 :(得分:1)
返回字符串“no”。 bool(“no”)是真的