「--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
ですか?