「--foo True」または「--foo False」として記述されたブール値のコマンドライン引数を解析するために argparse を使用したいと考えています。例えば:
my_program --my_boolean_flag False
ただし、次のテスト コードは、私が望むことを行いません。
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)
悲しいことに、 にparsed_args.my_bool評価されTrueます。cmd_lineこれは、 が に評価されるため、に変更した場合でも当てはまります。["--my_bool", ""]これは驚くべきことです。bool("")False
"False"、"F"、およびそれらの小文字のバリアントをに解析する argparse を取得するにはどうすればよいFalseですか?