Capítulo 1: Comencemos Nuestro Viaje de Automatización
Parte 5: Argumentos de Línea de Comandos + Resumen
Muchas tareas pueden estructurarse mejor como una interfaz de línea de comandos (CLI) que acepta diferentes parámetros. Python incluye el módulo argparse en la biblioteca estándar para crear CLIs profesionales con mínimo esfuerzo.
Agregar Argumentos de Línea de Comandos
Estructura Recomendada
# IMPORTS def main(parámetros): # LÓGICA PRINCIPAL if __name__ == '__main__': # DEFINIR PARSER # PARSEAR ARGS # VALIDAR SI ES NECESARIO main(argumentos)
Paso 1: Script Básico
import argparse def main(number): print('#' * number) if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('number', type=int, help='Un número') args = parser.parse_args() main(args.number)
positional arguments:
number Un número
optional arguments:
-h, --help show this help message and exit
Paso 2: Argumento Opcional
import argparse def main(character, number): print(character * number) if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('number', type=int, help='Un número') parser.add_argument('-c', type=str, help='Carácter a imprimir', default='#') args = parser.parse_args() main(args.c, args.number)
Paso 3: Banderas (Flags)
import argparse def main(character, number): print(character * number) if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('number', type=int, help='Un número') parser.add_argument('-c', type=str, help='Carácter', default='#') parser.add_argument('-U', action='store_true', default=False, dest='uppercase', help='Convertir a mayúscula') args = parser.parse_args() if args.uppercase: args.c = args.c.upper() main(args.c, args.number)
Reglas de argparse
- Argumentos con
-son opcionales; sin guión son posicionales - Siempre define un valor default para opcionales
- Agrega siempre help descriptivo a cada argumento
- Usa type para validación automática
store_true/store_falsepara crear banderas booleanas- Usa dest para renombrar argumentos internamente
Argumentos Largos
parser.add_argument('-v', '--verbose', action='store_true', default=False, help='Habilitar salida detallada') # Acepta tanto -v como --verbose
--configuration-file en lugar de solo -c para hacer tu CLI más intuitiva.
Resumen del Capítulo 1
01 // Entornos Virtuales
Crear entornos aislados con python -m venv para gestionar dependencias de forma independiente.
02 // Paquetes de Terceros
Instalar y administrar dependencias con pip y requirements.txt para replicabilidad.
03 // Formateo de Cadenas
Usar el método format() y f-strings para crear texto estructurado con precisión.
04 // Manipulación de Cadenas
Métodos como split(), join(), replace() para transformar texto.
05 // Extracción de Datos
Técnicas manuales para parsear cadenas estructuradas en tipos nativos de Python.
06 // Módulo Parse
Herramienta de terceros que invierte format() para extraer datos de forma elegante.
07 // Expresiones Regulares
Patrones poderosos con el módulo re para coincidencia y extracción de texto.
08 // Argumentos CLI
Crear interfaces de línea de comandos profesionales con argparse.