-
python 的 argparse,对于输入全部都是按照字符串读取,即便设置了 type=bool,依然是按照字符串获取。因此不论该参数设什么值(True/False),只要设置了,都会被获取成非空字符串,后续转 bool 就都是 true 了
-
可以额外使用 action 参数,或者是添加一个 str2bool 的方法,来处理 boolean 的命令行参数
-
action 参数,action关键字默认状态有两种,store_true和store_false
- 输入命令时,不指定其参数,则store_true显示为False,store_false显示为True
parse.add_argument("--a", action="store_true")action类型参数 a 的值为 store_true,若命令行输入时不指定 a, 那么结果默认为 False,在命令行输入了
--a参数,那么结果为 True -
添加一个 str2bool 的方法,来处理 boolean 的命令行参数
parse.add_argument("--a", default=False, type=str2bool)str2bool
def str2bool(value): if isinstance(value, bool): return value if value.lower() in ("yes", "true", "t", "y", "1"): return True elif value.lower() in ("no", "false", "f", "n", "0"): return False else: raise argparse.ArgumentTypeError("Boolean value expected")
-
python argparse bool 解析
Pythonargparse处理布尔命令行参数的技巧,
最新推荐文章于 2025-05-29 20:38:31 发布
文章讲述了如何在Python的argparse中正确处理布尔类型的命令行参数,包括使用action参数(如store_true和store_false)以及自定义str2bool函数来确保值的正确解析。
部署运行你感兴趣的模型镜像
您可能感兴趣的与本文相关的镜像
Python3.9
Conda
Python
Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本
1806

被折叠的 条评论
为什么被折叠?



