Analisando valores booleanos com argparse
Eu gostaria de usar argparse para analisar argumentos de linha de comando booleanos escritos como "--foo True" ou "--foo False". Por exemplo:
my_program --my_boolean_flag False
No entanto, o código de teste a seguir não faz o que eu gostaria:
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)
Infelizmente,parsed_args.my_bool
avalia paraTrue
. Este é o caso mesmo quando eu mudocmd_line
ser estar["--my_bool", ""]
, o que é surpreendente, já quebool("")
avalia paraFalse
.
Como posso fazer com que o argparse seja analisado?"False"
, "F"
e suas variantes minúsculas a seremFalse
?