Как сделать в python argparse взаимоисключающие групповые аргументы без префикса?

В Python2.7 argparse принимает только необязательные аргументы (с префиксом) во взаимоисключающих группах:

parser = argparse.ArgumentParser(prog='mydaemon')
action = parser.add_mutually_exclusive_group(required=True)
action.add_argument('--start', action='store_true', help='Starts %(prog)s daemon')
action.add_argument('--stop', action='store_true', help='Stops %(prog)s daemon')
action.add_argument('--restart', action='store_true', help='Restarts %(prog)s daemon')

$ mydaemon -h

usage: mydaemon [-h] (--start | --stop | --restart)

optional arguments:
  -h, --help  show this help message and exit
  --start     Starts mydaemon daemon
  --stop      Stops mydaemon daemon
  --restart   Restarts mydaemon daemon

Есть ли способ заставить аргументы argparse вести себя как традиционное управление демоном unix:

(start | stop | restart) and not (--start | --stop | --restart) ?
68
задан Jonathon Reinhart 24 April 2015 в 13:55
поделиться