使用python argparser,是否有一种方法可以指定在两个arg中只能提供1个



用例:

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

假设允许用户为参数foobar提供输入。我想限制它,说用户可以为参数foo或bar提供值,而不是同时为两者提供值。

样本代码:

import argparse
my_parser = argparse.ArgumentParser()
my_parser.add_argument('foo',
help='xxxxxxxxxxx')
my_parser.add_argument('bar',
help='xxxxxxxxxxx')
args = my_parser.parse_args()
print(vars(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。我选择CCD_ 4是基于你的措辞;用户可以为参数foo或bar提供值,而不能同时为两者提供值">

最新更新