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 的值,并在需要时打印额外的输出。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
argparsePython标准库的一个模块,用于解析命令行参数。它提供了一种简单而灵活的方式来处理命令行参数,并生成帮助信息。 argparse模块的主要特点包括: 1. 定义参数:argparse允许你定义需要的命令行参数,并指定它们的类型、默认值、帮助信息等。 2. 解析参数:argparse可以解析命令行参数,并将它们转换为Python对象,以便在程序使用。 3. 自动生成帮助信息:argparse可以根据你定义的参数自动生成帮助信息,包括参数的使用方法、默认值、帮助文本等。 4. 支持位置参数和可选参数:argparse支持两种类型的参数,位置参数和可选参数。位置参数是必需的,而可选参数可以根据需要选择是否提供。 下面是一个简单的示例,演示了如何使用argparse解析命令行参数: ```python import argparse # 创建ArgumentParser对象 parser = argparse.ArgumentParser(description='Process some integers.') # 添加位置参数 parser.add_argument('integers', metavar='N', type=int, nargs='+', help='an integer for the accumulator') # 添加可选参数 parser.add_argument('--sum', dest='accumulate', action='store_const', const=sum, default=max, help='sum the integers (default: find the max)') # 解析命令行参数 args = parser.parse_args() # 打印解析结果 print(args.accumulate(args.integers)) ``` 使用上述代码,你可以在命令行输入一系列整数,并选择是求和还是找到最大值。例如: ``` $ python myprogram.py 1 2 3 4 5 15 $ python myprogram.py 1 2 3 4 5 --sum 15 ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值