¿Hay un módulo de Python para haciendo argumentos de línea de comando gem/git-style? Lo que quiero decir con gem/git style es:argumentos de línea de comando gem/git-style en Python
$ ./MyApp.py
The most commonly used MyApp commands are:
add Add file contents to the index
bisect Find by binary search the change that introduced a bug
branch List, create, or delete branches
checkout Checkout a branch or paths to the working tree
...
$ ./MyApp.py branch
* current-branch
master
Sin argumentos, la salida le indica cómo puede continuar. Y hay un comando especial de "ayuda":
$ ./MyApp.py help branch
que te lleva consejos más profundas sobre el comando "rama".
Editar: Y por haciendo quiero decir que realiza la impresión de uso para usted, sale con una entrada no válida, se ejecuta sus funciones de acuerdo con su especificación CLI. Tipo de un "mapeador de URL" para la línea de comando.
Puede valer la pena señalar que la palabra clave 'aliases' para' subparsers.add_parser() 'es nueva en Python 3 y no está disponible en Python 2.7. – Juan
Cuidado con argparse: una vez que comienzas a agregar subparsers anidados las cosas se ponen muy desordenadas. Ver por ejemplo: http://bugs.python.org/issue9253 – Federico
El gran paquete [clic] (http://click.pocoo.org/) ofrece esta funcionalidad lista para usar. Consulte el tutorial * complex * [aquí] (http://click.pocoo.org/5/complex/) –