Converting Strings like 'False', 'True' to Bool Type in Python
Code
When you want to convert the string "False" into a boolean False in Python, the first code you might try looks like this.
>>> bool("False")
True
>>> int("False")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'False'
However, in this case, since "False" is a non-empty string, bool("False") will return True. The function to return False from the string "False" is distutils.util.strtobool().
>>> from distutils.util import strtobool
>>> strtobool("False")
0
>>> strtobool("f")
0
>>> strtobool("0")
0
>>> strtobool("no")
0
>>> strtobool("off")
0
The following inputs will return False:
- Irrespective of case,
"f"and"false"(thus,"FaLSe","faLSE", etc., are all possible) - Irrespective of case,
"no","n","off","0"
The following inputs will return True:
- Irrespective of case,
"t"and"true"(thus,"TuRe","tURE", etc., are all possible) - Irrespective of case,
"yes","y","on","1"
Environment
- OS: Windows11
- Version: Python v3.9.13
