在Python中将字符串转换为布尔值

时间:2014-02-24 19:55:32

标签: python string boolean

如何将String转换为布尔值?例如:

str = "False and False or True and True"
str = "( "+str+" )"
str = str.replace("and",") and (")

返回

str == '( False ) and ( False or True ) and ( True )'

如何执行str以获得结果' False'?

2 个答案:

答案 0 :(得分:3)

我认为您正在寻找eval

>>> eval('( False ) and ( False or True ) and ( True )')
False

注意:不要将str用作变量名称;它会影响内置的Python。

答案 1 :(得分:2)

您可以使用将适当字符串转换为True和False的函数

def str2bool(self, v): # Note the self to allow it to be in a class
  return v.lower() in ('yes', 'true', 't', '1', 'yea', 'verily')  # lower() is a method

这样您也可以分析各种用户输入。