У меня есть одна библиотека, и я хочу сделать для нее интерфейс командной строки. И вот есть такая нужда сделать, чтобы было 2 флага, но юзер обязан выбрать хотя бы 1 из них, типо:
user@root-machine$ python3 somecli.py --help
usage: [-h] [-flag1] [-flag12]
optional arguments:
-h, --help show this help message and exit
-flag1
-flag2
И вот я хочу, чтобы нельзя было использовать одновременно 2 флага и нельзя было не использовать ни одного. Можно как-то сделать без:
parser = parser.parse_args()
if not (parser.flag1 or parser.flag2):
print('Use one of these: -flag1, -flag2')
exit(1)
elif parser.flag1 and parser.flag2:
print('Use only one of these: -flag1, -flag2')
exit(1)
else:
flag = (parser.flag1, parser.flag2)[bool(parser.flag1)]