使用argparse解析布尔值
我想使用argparse来解析写为“--foo True”或“--foo False”的布尔命令行参数。例如:
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
。
如何让argparse解析"False"
,"F"
以及它们的小写变体False
?
慕桂英3389331
四季花海
红颜莎娜
相关分类