HiveBrain v1.2.0
Get Started
← Back to all entries
patternpythonCritical

Converting from a string to boolean in Python

Submitted by: @import:stackoverflow-api··
0
Viewed 0 times
pythonconvertingbooleanstringfrom

Problem

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") # beware!
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.

Code Snippets

s == 'True'
s.lower() in ['true', '1', 't', 'y', 'yes', 'yeah', 'yup', 'certainly', 'uh-huh']
>>> bool("foo")
True
>>> bool("False") # beware!
True
>>> bool("")
False

Context

Stack Overflow Q#715417, score: 1418

Revisions (0)

No revisions yet.