我希望能够使一组参数与另一个参数(或另一个参数组)互斥。像这样:
program.py [-a alpha] [-b -c gamma -d delta]
要求是:
-a
或-b
(或同时使用或不使用)-b
,则还必须使用-c
和-d
有可能吗?我想我可以使用sub_parser,但不确定如何…
答案 0 :(得分:2)
虽然答案链接here对于python2.X很可能,但根据我的研究,它仍然成立。调整答案:
if args.b and (args.c is None or args.d is None):
parser.error("--b requires --c and --d.")