使用 argparse 解析布尔值
2022-09-05 01:14:22
我想使用 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