相关疑难解决方法(0)

使用argparse解析布尔值

我想使用argparse来解析写为"--foo True"或"--foo False"的布尔命令行参数.例如:

my_program --my_boolean_flag False
Run Code Online (Sandbox Code Playgroud)

但是,以下测试代码不能满足我的要求:

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)
Run Code Online (Sandbox Code Playgroud)

可悲的是,parsed_args.my_bool评估为True.这种情况即使我改变cmd_line["--my_bool", ""],这是令人惊讶的,因为bool("")重新评估False.

如何让argparse解析"False","F"以及它们的小写变体False

python boolean command-line-parsing argparse

532
推荐指数
15
解决办法
32万
查看次数

标签 统计

argparse ×1

boolean ×1

command-line-parsing ×1

python ×1