Herramientas de usuario

Herramientas del sitio


python:instalable

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
python:instalable [2025/07/15 14:43] – [setup.py] albertopython:instalable [2025/07/16 12:05] (actual) – [main.py] alberto
Línea 36: Línea 36:
 ==== main.py ==== ==== main.py ====
 Es el punto de entrada al paquete cuando lo ejecutas desde consola. \\ Es el punto de entrada al paquete cuando lo ejecutas desde consola. \\
-Es donde se define la interfaz de línea de comandos (CLI): qué comandos, opciones y argumentos puede introducir el usuario, incluidos los //--help//. \\+Es donde se define la interfaz de línea de comandos (CLI, //Command Line Interface//): qué comandos, opciones y argumentos puede introducir el usuario, incluidos los //--help//En ocasiones el archivo donde se encuentra la función main() también suele llamarse cli.py\\
 Utiliza la biblioteca **argparse** para leer argumentos desde línea de comandos. \\ Utiliza la biblioteca **argparse** para leer argumentos desde línea de comandos. \\
 En main.py se puede: En main.py se puede:
Línea 46: Línea 46:
 \\ \\
 En definitiva, realiza el flujo del programa.\\ En definitiva, realiza el flujo del programa.\\
 +
 +Cuando añadimos parámetros con add_argument, tenemos las siguientes opciones:
 +^ Parámetro             ^ Descripción                                                                                     ^ Ejemplo                                              ^
 +| `name or flags`       | Nombre del argumento (posicional o con guiones).                                                | `'--verbose'`, `'-v'`, `'archivo'                  |
 +| `action`              | Qué hacer con el argumento al encontrarlo (ver tabla de abajo).                                | `'store'`, `'store_true'`, `'append'`, etc.          |
 +| `nargs`               | Número de valores esperados (`?`, `*`, `+`, número entero, etc).                                | `nargs='?'`, `nargs=2`                               |
 +| `const`               | Valor constante usado cuando se emplea con ciertas acciones como `store_const`.                 | `const=42`                                           |
 +| `default`             | Valor por defecto si no se proporciona el argumento.                                            | `default='salida.txt'                              |
 +| `type`                | Tipo de dato al que convertir el argumento.                                                     | `type=int`, `type=float`, `type=Path`                |
 +| `choices`             | Lista de valores permitidos.                                                                    | `choices=['bajo', 'medio', 'alto']`                  |
 +| `required`            | Si el argumento es obligatorio (solo para argumentos opcionales).                              | `required=True`                                      |
 +| `help`                | Texto de ayuda mostrado al ejecutar `--help`.                                                   | `help='Archivo de entrada.'                        |
 +| `metavar`             | Nombre que aparece en la ayuda en lugar del nombre real del argumento.                         | `metavar='FICHERO'                                 |
 +| `dest`                | Nombre del atributo en `args` donde se guarda el valor.                                         | `dest='nivel'                                      |
 +
 +Para el parámetro "action" disponemos e estas posibilidades:
 +^ Acción           ^ Descripción                                                                                   ^ Ejemplo de uso                                     ^
 +| `'store'       | Guarda el valor dado (por defecto).                                                           | `--salida salida.txt`                              |
 +| `'store_const' | Guarda un valor constante (requiere `const=`).                                                | `--modo`, `action='store_const', const='debug'   |
 +| `'store_true'  | Guarda `True` si se especifica, `False` si no.                                                | `--verbose`, `action='store_true'                |
 +| `'store_false' | Guarda `False` si se especifica, `True` si no.                                                | `--no-cache`, `action='store_false'              |
 +| `'append'      | Añade cada valor a una lista.                                                                | `--tag urgente --tag personal` → `['urgente',...]` |
 +| `'append_const'` | Añade un valor constante a una lista (requiere `const=`).                                     | (menos común)                                       |
 +| `'count'       | Cuenta cuántas veces aparece el argumento.                                                   | `-v -v -v` → `3`                                    |
 +| `'help'        | Muestra el mensaje de ayuda y termina. (automática con `--help`)                             | `--help`                                            |
 +| `'version'     | Muestra el número de versión y termina. (requiere `version=`)                                | `--version`                                         |
 +
  
 A continuación un ejemplo, en el que se define el comando "gendocs" y 3 subcomandos "simples", "compuestos" y "cruce", cada uno con sus parámetros de entrada: A continuación un ejemplo, en el que se define el comando "gendocs" y 3 subcomandos "simples", "compuestos" y "cruce", cada uno con sus parámetros de entrada:
Línea 227: Línea 254:
 </code> </code>
  
-mi_comando → nombre que escribirás en la terminal +mi_comando → nombre que escribirás en la terminal. \\ 
-paquete.modulo → ruta al módulo dentro del paquete +paquete.modulo → ruta al módulo dentro del paquete. \\ 
-funcion_que_se_ejecuta → debe ser una función sin argumentos (o que gestione sys.argv) que actuarán como el “main()” del comando.+funcion_que_se_ejecuta → debe ser una función sin argumentos (o que gestione sys.argv) que actuarán como el “main()” del comando. \\ 
 +\\ 
 + 
 +Si se desea cambiar el comando para ejecutar un programa, es suficiente con indicarlo en "console_scripts" y cambiar el campo "mi_comando". A continuación **es necesario reinstalar** con "pip install -e .", por ejemplo.
 ==== readme.md ==== ==== readme.md ====
 Es un archivo de texto (usualmente en formato Markdown, de ahí la extensión .md) que explica de qué trata el proyecto. \\ Es un archivo de texto (usualmente en formato Markdown, de ahí la extensión .md) que explica de qué trata el proyecto. \\
python/instalable.1752583437.txt.gz · Última modificación: por alberto

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki