Argumentos por linea de comandos
1. Qué es un argumento de línea de comando? #
Los argumentos de línea de comando son datos que puedes pasar a un programa de Python cuando lo ejecutas desde la línea de comandos (como la terminal o el símbolo del sistema). Estos argumentos permiten al usuario del programa proporcionar información adicional que el programa puede usar para hacer algo específico.
Por ejemplo, si tienes un programa que suma dos números, podrías pasar esos dos números como argumentos cuando ejecutas el programa.
2. Cómo funcionan los argumentos de línea de comando en Python? #
En Python, puedes acceder a los argumentos de línea de comando usando el módulo sys. Este módulo tiene una lista llamada argv, que contiene todos los argumentos que se pasaron al programa, incluyendo el nombre del archivo Python como el primer elemento.
3. Ejemplos de uso de argumentos de línea de comando #
-
Crear un script que suma dos números:
1# archivo: suma.py 2import sys 3 4# Obtenemos los argumentos de la línea de comando 5numero1 = int(sys.argv[1]) 6numero2 = int(sys.argv[2]) 7 8# Realizamos la suma 9suma = numero1 + numero2 10 11# Mostramos el resultado 12print(f"La suma de {numero1} y {numero2} es {suma}")- ¿Qué hace este código?:
- Importa el módulo
sys. - Usa
sys.argvpara obtener los números pasados como argumentos de línea de comando. - Realiza la suma de esos números.
- Imprime el resultado en pantalla.
- Importa el módulo
- ¿Qué hace este código?:
-
Ejecutar el script desde la línea de comandos:
Supongamos que el script anterior se guarda en un archivo llamado
suma.py. Puedes ejecutar este script desde la línea de comandos y pasarle dos números como argumentos:1python suma.py 3 5- Resultado en pantalla:
La suma de 3 y 5 es 8
- Resultado en pantalla:
-
Explicación de
sys.argv:sys.argves una lista en la que:sys.argv[0]es el nombre del script, en este caso,suma.py.sys.argv[1]es el primer argumento, en este caso,3.sys.argv[2]es el segundo argumento, en este caso,5.
- Los valores obtenidos como argumentos son cadenas de texto, por lo que, si necesitas usarlos como números, debes convertirlos con
int()ofloat().
4. Por qué usar argumentos de línea de comando? #
Los argumentos de línea de comando son útiles cuando quieres que tu programa sea flexible y pueda recibir diferentes entradas del usuario sin necesidad de modificar el código cada vez. Esto permite que el programa sea más dinámico y adaptable a diferentes situaciones.
Resumen del tema
Conceptos clave #
- Módulo
sys.argv: lista de cadenas con los parámetros pasados al invocar el script desde la CLI. - Índice Cero:
sys.argv[0]siempre contiene el nombre o ruta del script que se está ejecutando. - Conversión de Tipo Requerida: todos los elementos en
sys.argvse leen comostr; es necesario castear conint(),float(), etc. - Alternativa Avanzada: para interfaces CLI complejas con flags, opciones y ayuda automática se utiliza el módulo
argparse.
Qué debes recordar #
Usa sys.argv (importando sys) para capturar argumentos pasados desde la terminal, recordando que sys.argv[0] es el propio script y los valores son str.