python argparse bool 解析
2023-12-24 05:44:11
-
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")
-
文章来源:https://blog.csdn.net/qq_38342510/article/details/135177233
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!