Python argparse - 用argparse解析布尔值

Python string to boolean / python / boolean / argparse / command-line-parsing

我想用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)

Peter Mortensen



Answer #1
parser.add_argument('--is_debug', default=False, type=lambda x: (str(x).lower() == 'true'))