python parser.add_argument() action

本文深入探讨了Python中argparse模块的默认值设置,详细解释了--xxxx参数在不同action设置下(store_true/store_false)的默认行为,以及如何通过default参数自定义默认值。
1:parser.add_argument('--xxxx', action='store_true', help='.....') 
2:parser.add_argument('--xxxx', action='store_true',default =ture, help='.....')
3:parser.add_argument('--xxxx', action='store_true',default =ture, help='.....')

有defalt的时候xxxx的值和default 一致,true 或false

没有default的时候xxxx的值,action = store_ture,则xxxx=false,action = store_false,xxxx=true

### 如何在 Python `argparse` 中使用 `add_argument` 方法的 `action` 参数 #### 基本概念 `argparse` 是一个用于解析命令行选项、参数和子命令的强大模块。通过定义所需参数,该模块可以从命令行中自动解析这些参数并处理它们[^1]。 #### 使用 `action` 参数的不同方式 ##### 存储常量 (`store_const`) 当指定此动作时,如果提供了相应的可选参数,则会存储由关键字参数 `const` 所给定的一个特定值。 ```python parser.add_argument('--foo', action='store_const', const=42) ``` ##### 计数次数 (`count`) 每当遇到对应的命令行标志时增加计数值,默认情况下初始值为0。 ```python parser.add_argument('-v', '--verbose', action='count', default=0) ``` ##### 追加列表 (`append`) 允许多次传递同一个标记,并将其后面的每一个值都追加到列表里。 ```python import argparse parser = argparse.ArgumentParser() parser.add_argument('-l', '--list', action='append', help='<Required> Set flag', required=True) args = parser.parse_args() print(args.list) ``` 上述脚本可以通过如下方式调用: ```bash python arg.py -l 1234 -l 2345 -l 3456 -l 4567 ``` 这将会输出 `[1234, 2345, 3456, 4567]`[^2]。 ##### 设置布尔开关 (`store_true`, `store_false`) 这两个操作分别用来设置目标变量为 True 或 False 。通常用于实现开启/关闭功能的功能开关。 ```python parser.add_argument('--feature', action='store_true') parser.add_argument('--no-feature', action='store_false') ``` #### 完整示例代码 下面给出一段完整的例子来展示如何利用不同的 `action` 类型: ```python if __name__ == "__main__": import argparse parser = argparse.ArgumentParser(description="Demonstrate various actions of add_argument.") # Store a constant value when the argument is present. parser.add_argument('--mode', action='store_const', dest='operation_mode', const='debug', help='Set operation mode to debug.') # Increase verbosity level each time `-v` or `--verbose` appears on command line. parser.add_argument('-v', '--verbose', action='count', default=0, help='Increase output verbosity (can be specified multiple times).') # Append values from repeated occurrences into list. parser.add_argument('-i', '--input-files', metavar='FILE', type=str, nargs='+', action='extend', help='Input files for processing.') args = parser.parse_args() print(f"Operation Mode: {args.operation_mode}") print(f"Verbosity Level: {'*' * args.verbose}") print(f"Input Files: {args.input_files}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值