使用python argparser,有没有办法指定在两个参数中只能提供1个
用例: 我正在使用python并收集用户输入作为参数 假设允许用户为参数使用python argparser,有没有办法指定在两个参数中只能提供1个,python,python-3.x,user-input,argparse,Python,Python 3.x,User Input,Argparse,用例: 我正在使用python并收集用户输入作为参数 假设允许用户为参数foo和bar提供输入。 我想限制它,说用户可以为参数foo或bar提供值,而不是同时为两者提供值 示例代码: import argparse my_parser=argparse.ArgumentParser() my_解析器。添加_参数('foo', 帮助='xxxxxxxxxx') my_解析器。添加_参数('bar', 帮助='xxxxxxxxxx') args=my_parser.parse_args() 打印(变
foo
和bar
提供输入。
我想限制它,说用户可以为参数foo或bar提供值,而不是同时为两者提供值
示例代码:
import argparse
my_parser=argparse.ArgumentParser()
my_解析器。添加_参数('foo',
帮助='xxxxxxxxxx')
my_解析器。添加_参数('bar',
帮助='xxxxxxxxxx')
args=my_parser.parse_args()
打印(变量(args))
这是否可以直接在argparser中实现?或者我需要在python代码中处理这个问题吗?是的,您可以这样做:
my_group = my_parser.add_mutually_exclusive_group(required=False)
my_group.add_argument('foo', help='xxxxxxxxxxx')
my_group.add_argument('bar', help='xxxxxxxxxxx')
根据需要设置required
。我根据您的措辞选择了false
“用户可以为参数foo或bar提供值,而不能同时为两者提供值。”