python的argparse中的action的作用

在 Python 的 argparse 模块中,action 参数用于指定解析器在遇到参数时要执行的操作类型。

action 参数的值可以是一些预定义的操作类型或者自定义的操作类型。下面是一些常用的预定义操作类型:

‘store’:将参数值存储到相应的属性中(这是默认的操作类型)。
‘store_const’:将指定的常量值存储到相应的属性中。
‘store_true’ 和 ‘store_false’:将 True 或 False 存储到相应的属性中。
‘append’:将参数值追加到列表中。
‘append_const’:将指定的常量值追加到列表中。
‘count’:将参数出现的次数存储到相应的属性中。
‘help’:打印帮助信息并退出。
‘version’:打印版本信息并退出。
除了这些预定义的操作类型,还可以通过编写自定义的操作类来实现更高级的操作。自定义的操作类需要继承自 argparse.Action 类,并实现 call 方法。call 方法接受四个参数:解析器对象、命令行参数对象、参数值和选项字符串。在 call 方法中,可以执行任何自定义的操作,并修改命令行参数对象的属性。

下面是一个使用 action 参数的示例:

import argparse

parser = argparse.ArgumentParser()
parser.add_argument(‘-v’, ‘–verbose’, action=‘store_true’, help=‘increase output verbosity’)
args = parser.parse_args()

if args.verbose:
print(‘Verbose output enabled’)

在这个示例中,-v/–verbose 参数的 action 被设置为 ‘store_true’,这意味着如果命令行中出现 -v/–verbose 参数,则将 True 存储到 args.verbose 属性中。如果没有出现 -v/–verbose 参数,则 args.verbose 的值将为 False。在代码中,我们检查 args.verbose 的值,并在需要时打印额外的输出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值