Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python argparser,有没有办法指定在两个参数中只能提供1个_Python_Python 3.x_User Input_Argparse - Fatal编程技术网

使用python argparser,有没有办法指定在两个参数中只能提供1个

使用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() 打印(变

用例:

我正在使用python并收集用户输入作为参数

假设允许用户为参数
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提供值,而不能同时为两者提供值。”