Python2.7 argparse n'accepte que les arguments facultatifs (préfixés) dans des groupes mutuellement exclusifs :
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
Existe-t-il un moyen de faire en sorte que les arguments argparse se comportent comme le contrôle traditionnel du démon Unix :
(start | stop | restart) and not (--start | --stop | --restart) ?