Найти - Пользователи
Полная версия: argparse CLI
Начало » Python для новичков » argparse CLI
1
DamMercul
У меня есть одна библиотека, и я хочу сделать для нее интерфейс командной строки. И вот есть такая нужда сделать, чтобы было 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)]
JOHN_16
Давайте я вам дам подсказку
 >>> for x in [0, 1]:
...     for y in [0, 1]:
...         print(x, y, x^y)
... 
(0, 0, 0)
(0, 1, 1)
(1, 0, 1)
(1, 1, 0)

Могу помочь, моих знаний хватит с лихвой
ну как сказать
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB