pythonstringboolean

Converting from a string to boolean in Python


How do I convert a string into a boolean in Python? This attempt returns True:

>>> bool("False")
True

Solution

  • Really, you just compare the string to whatever you expect to accept as representing true, so you can do this:

    s == 'True'
    

    Or to checks against a whole bunch of values:

    s.lower() in ['true', '1', 't', 'y', 'yes', 'yeah', 'yup', 'certainly', 'uh-huh']
    

    Be cautious when using the following:

    >>> bool("foo")
    True
    >>> bool("")
    False
    

    Empty strings evaluate to False, but everything else evaluates to True. So this should not be used for any kind of parsing purposes.