Argparse en Python

De ChuWiki


Uso de `argparse` para Manejar Argumentos de Línea de Comandos[editar]

El módulo `argparse` en Python permite crear interfaces de línea de comandos fáciles de usar. Puedes definir los argumentos que tu programa espera y el módulo se encargará de analizarlos y proporcionarte un acceso conveniente a ellos.

Aquí hay un ejemplo sencillo de cómo usar `argparse` para manejar argumentos de línea de comandos.

Crear un Script con `argparse`[editar]

import argparse

def main():
    parser = argparse.ArgumentParser(description="Un ejemplo de cómo usar argparse")
    parser.add_argument('nombre', type=str, help='El nombre de la persona')
    parser.add_argument('edad', type=int, help='La edad de la persona')
    parser.add_argument('--saludo', type=str, default='Hola', help='El saludo a usar')

    args = parser.parse_args()

    print(f"{args.saludo}, {args.nombre}. Tienes {args.edad} años.")

if __name__ == "__main__":
    main()

Cómo Ejecutar el Script[editar]

Guarda el script anterior en un archivo llamado `saludo.py` y ejecútalo desde la línea de comandos:

python saludo.py Ana 30

Esto producirá la salida:

Hola, Ana. Tienes 30 años.

Puedes cambiar el saludo usando la opción `--saludo`:

python saludo.py Ana 30 --saludo Buenos días

Esto producirá la salida:

Buenos días, Ana. Tienes 30 años.

Desglose del Ejemplo[editar]

Importar `argparse`[editar]

Importa el módulo `argparse` para manejar argumentos de línea de comandos.

Crear un Analizador de Argumentos[editar]

  • `ArgumentParser` se utiliza para crear un nuevo analizador de argumentos.
  • El parámetro `description` proporciona una descripción de alto nivel de lo que hace el script.

Definir Argumentos[editar]

  • `add_argument` define los argumentos que el script aceptará.
  • El primer argumento (`nombre`) es obligatorio y se espera que sea un string.
  • El segundo argumento (`edad`) es obligatorio y se espera que sea un entero.
  • El argumento opcional (`--saludo`) tiene un valor por defecto de `'Hola'`.

Analizar Argumentos[editar]

  • `parse_args()` analiza los argumentos proporcionados en la línea de comandos y devuelve un objeto con los valores.

Usar los Argumentos[editar]

  • Los valores de los argumentos se acceden como atributos del objeto devuelto por `parse_args()`.

Ventajas de Usar `argparse`[editar]

  • Facilidad de Uso: Facilita la creación de interfaces de línea de comandos amigables.
  • Documentación Automática: Genera automáticamente mensajes de ayuda y documentación para los argumentos.
  • Validación: Valida los argumentos y proporciona mensajes de error claros si los argumentos no cumplen con las expectativas.
  • Flexibilidad: Soporta argumentos posicionales y opcionales, además de múltiples tipos de datos y opciones avanzadas.