博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python命令模块argparse学习笔记(三)
阅读量:2259 次
发布时间:2019-05-09

本文共 2162 字,大约阅读时间需要 7 分钟。

  • 参数组

ArgumentParser.add_argument_group(title=None, description=None)

默认情况下,当显示帮助消息时,ArgumentParser将命令行参数分组为“位置参数”和“可选参数”。

当比这个默认参数有更好的参数概念分组时,可以使用add_argument_group()方法创建适当的组:

>>> parser = argparse.ArgumentParser(prog='PROG', add_help=False)>>> group = parser.add_argument_group('group')>>> group.add_argument('--foo', help='foo help')>>> group.add_argument('bar', help='bar help')>>> parser.print_help()usage: PROG [--foo FOO] bargroup:  bar    bar help  --foo FOO  foo help

add_argument_group()方法返回一个参数组对象,它具有add_argument()方法,就像常规的ArgumentParser一样。

将参数添加到组中时,解析器将其视为与普通参数类似,但将参数显示在单独的组中以获取帮助消息。
add_argument_group()方法接受可用于定制此显示的标题和描述参数:

>>> parser = argparse.ArgumentParser(prog='PROG', add_help=False)>>> group1 = parser.add_argument_group('group1', 'group1 description')>>> group1.add_argument('foo', help='foo help')>>> group2 = parser.add_argument_group('group2', 'group2 description')>>> group2.add_argument('--bar', help='bar help')>>> parser.print_help()usage: PROG [--bar BAR] foogroup1:  group1 description  foo    foo helpgroup2:  group2 description  --bar BAR  bar help

任何不在用户定义组中的参数将返回到通常的“位置参数”和“可选参数”部分

  • 互斥组

ArgumentParser.add_mutually_exclusive_group(required=False)

创建一个互斥的组。 argparse将确保在命令行上只存在互斥组中的一个参数:

>>> parser = argparse.ArgumentParser(prog='PROG')>>> group = parser.add_mutually_exclusive_group()>>> group.add_argument('--foo', action='store_true')>>> group.add_argument('--bar', action='store_false')>>> parser.parse_args(['--foo'])Namespace(bar=True, foo=True)>>> parser.parse_args(['--bar'])Namespace(bar=False, foo=False)>>> parser.parse_args(['--foo', '--bar'])usage: PROG [-h] [--foo | --bar]PROG: error: argument --bar: not allowed with argument --foo

add_mutually_exclusive_group()方法也接受一个必需的参数,以表明至少需要一个互斥的参数:

>>> parser = argparse.ArgumentParser(prog='PROG')>>> group = parser.add_mutually_exclusive_group(required=True)>>> group.add_argument('--foo', action='store_true')>>> group.add_argument('--bar', action='store_false')>>> parser.parse_args([])usage: PROG [-h](--foo | --bar)PROG: error: one of the arguments --foo --bar is required

目前互斥的参数组不支持add_argument_group()的标题和描述参数

 

转载于:https://www.cnblogs.com/sch01ar/p/8433119.html

你可能感兴趣的文章
遗传算法解决旅行商问题(TSP)
查看>>
mysql删除数据后id自增不连续的解决方法
查看>>
Windows下运行rabbitmqctl 相关命令(如rabbitmqctl stop)报错:Error: unable to perform an operation on node解决方案
查看>>
解决hash冲突的三种方法
查看>>
easyui placeholder 解决方案
查看>>
问题解决java.lang.IllegalArgumentException at org.springframework.asm.ClassReader
查看>>
SpringCloud服务消费者第一次调用出现超时问题的解决方案
查看>>
解决linux 升级高版本python3.7后yum不能使用的问题
查看>>
js 定时器(setTimeout/setInterval)出现变量未定义(xxx is not defined) 的解决方法
查看>>
https Java SSLException protocol_version的问题解决方法
查看>>
PHP Apache shutdown unexpectedly启动错误解释及解决的方法
查看>>
dataTable表头未对其解决方法
查看>>
异常:”未处理System.TypeLoadException“
查看>>
利用ComponentWillReceiveProps解决异步问题
查看>>
usr/bin/ld: cannot find 错误解决方法和 /etc/ld.so.conf
查看>>
SQL Server 2008 R2占用内存越来越大解决方法
查看>>
关于解决SpringDataJpa框架实体类表字段创建顺序与数据库表字段展示顺序不一致的问题
查看>>
Java-Day015
查看>>
Java-Day016
查看>>
Oracle数据库-排序
查看>>