代码之家  ›  专栏  ›  技术社区  ›  NewToJS

Python将“True”和“False”解析为字符串[重复]

  •  0
  • NewToJS  · 技术社区  · 6 年前

    python中有没有解析字符串的方法 'True' True (布尔)和 'False' False (布尔)?

    我知道我能行 bool('True') bool('False') 但每一个都是 符合事实的

    2 回复  |  直到 6 年前
        1
  •  2
  •   sam-pyt    6 年前

    在这种情况下,我不推荐 ast.literal_eval eval .最好的办法可能是:

    def parse_boolean(b):
        return b == "True"
    

    "True" 会回来的 True "False" 会回来的 False .

        2
  •  2
  •   Austin    6 年前

    使用 ast.literal_eval :

    >>> import ast
    >>> ast.literal_eval('False')
    False
    

    如果你愿意 type(ast.literal_eval('False')) 你看 <class 'bool'> :

    >>> type(ast.literal_eval('False'))
    <class 'bool'>
    

    您还可以编写自己的函数来返回 'True' 作为布尔值 True , 'False' 作为布尔值 False 如果您提供任何其他输入,它将返回相同的结果:

    def parse(string):
        d = {'True': True, 'False': False}
        return d.get(string, string)
    

    现在,你的称呼是:

    >>> parse('True')
    True
    >>> parse('False')
    False
    >>> parse('Anything')
    'Anything'