Дано:
import argparse
pa = argparse.ArgumentParser()
pa.add_argument('--foo')
pa.add_argument('--bar')
print pa.parse_args('--foo 1'.split())
как я
- сделать по крайней мере один из «Foo, Bar» обязательным:
--foo x
,--bar y
и--foo x --bar y
все в порядке - сделать не более одного из "foo, bar" обязательным:
--foo x
или--bar y
нормально,--foo x --bar y
не
Ответы:
Я думаю, что вы ищете что-то вроде взаимного исключения (по крайней мере, для второй части вашего вопроса).
Таким образом, будет принят только foo или bar, а не оба.
Кстати, только что нашел другой вопрос, относящийся к той же проблеме.
Надеюсь это поможет
источник
XOR
основном). Моя первоначальная забота заключалась в том, что вы решили только одно из двух условий.Если вам нужна проверка, которая не предусмотрена модулем, вы всегда можете сделать это вручную:
источник