Dany:
import argparse
pa = argparse.ArgumentParser()
pa.add_argument('--foo')
pa.add_argument('--bar')
print pa.parse_args('--foo 1'.split())
Jak ja
- Wykonaj co najmniej jedną z „foo bar” obowiązkowe:
--foo x
,--bar y
i--foo x --bar y
są w porządku - ustaw co najwyżej jedno z „foo, bar” obowiązkowe:
--foo x
lub--bar y
są w porządku,--foo x --bar y
nie jest
Odpowiedzi:
Myślę, że szukasz czegoś w rodzaju wzajemnego wykluczenia (przynajmniej w drugiej części pytania).
W ten sposób akceptowane będą tylko foo lub bar, a nie oba.
BTW, właśnie znalazłem inne pytanie dotyczące tego samego rodzaju problemu.
Mam nadzieję że to pomoże
źródło
XOR
w zasadzie). Początkowo martwiłem się, że twój rozwiązał tylko jeden z dwóch warunków.Jeśli potrzebujesz sprawdzenia, którego nie zapewnia moduł, zawsze możesz to zrobić ręcznie:
źródło