Требует двух аргументов с помощью argparse
дано:
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
- это не
2 ответа:
Я думаю, вы ищете что-то вроде взаимоисключение (по крайней мере, для второй части вашего вопроса).
таким образом, будут приняты только foo или bar, а не оба.
group = parser.add_mutually_exclusive_group(required=True) group.add_argument('--foo',action=.....) group.add_argument('--bar',action=.....) args = parser.parse_args()
кстати, только что нашел еще вопрос ссылаясь на тот же вопрос.
надеюсь, что это помогает