Analizando valores booleanos con argparse
Me gustaría usar argparse para analizar argumentos de línea de comandos booleanos escritos como "--foo True" o "--foo False". Por ejemplo:
my_program --my_boolean_flag False
Sin embargo, el siguiente código de prueba no hace lo que me gustaría:
import argparse
parser = argparse.ArgumentParser(description="My parser")
parser.add_argument("--my_bool", type=bool)
cmd_line = ["--my_bool", "False"]
parsed_args = parser.parse(cmd_line)
Tristemente,parsed_args.my_bool
evalúa aTrue
. Este es el caso incluso cuando cambiocmd_line
ser["--my_bool", ""]
, lo que es sorprendente, ya quebool("")
evalúa aFalse
.
¿Cómo puedo obtener argparse para analizar"False"
, "F"
, y sus variantes en minúsculas para serFalse
?