Gegeben:
import argparse
pa = argparse.ArgumentParser()
pa.add_argument('--foo')
pa.add_argument('--bar')
print pa.parse_args('--foo 1'.split())
wie mache ich
- machen mindestens eine von „foo, bar“ mandatory:
--foo x
,--bar y
und--foo x --bar y
sind in Ordnung - machen höchstens eine von "foo, bar" obligatorisch:
--foo x
oder--bar y
sind in ordnung,--foo x --bar y
ist nicht
Antworten:
Ich denke, Sie suchen nach so etwas wie gegenseitigem Ausschluss (zumindest für den zweiten Teil Ihrer Frage).
Auf diese Weise wird nur foo oder bar akzeptiert, nicht beide.
Übrigens, ich habe gerade eine andere Frage gefunden , die sich auf dieselbe Art von Problem bezieht.
Hoffe das hilft
quelle
XOR
im Grunde genommen). Meine anfängliche Sorge war, dass Ihre nur eine der beiden Bedingungen gelöst hat.Wenn Sie eine Prüfung benötigen, die nicht vom Modul bereitgestellt wird, können Sie dies jederzeit manuell tun:
quelle