Introducción a los argumentos de línea de comandos
Estamos por comenzar con un tema muy interesante: los argumentos de línea de comandos o command-line arguments en inglés.
Pero, ¿qué son exactamente los argumentos de línea de comandos y por qué son importantes en el contexto de la programación?
La palabra "argumento" tiene una larga historia en la computación, proveniendo del latín "argumentum" que significa "evidencia" o "prueba".
Imagina que quieres darle instrucciones, dtos o información a tu programa desde fuera, sin tener que escribirla cuando el programa ya está ejecutándose. Es como cuando le pasas una nota a tu programa antes de que empiece.
Por ejemplo, si tienes un programa que suma 2 números, en vez de esperar a que te pregunte cuáles quieres sumar, utilizando la función input()
, puedes escribirlos directamente cuando lo ejecutas.
En vez de:
numero1 = input("Dame un número: ") # El usuario ingresa el número 5
numero2 = input("Dame otro número: ") # El usuario ingresa el número 10
print(f"La suma de los números es {int(numero1) + int(numero2)}") # Imprime La suma de los números es 15
Puedes ejecutar tu programa así desde la terminal:
python mi_programa.py 5 10 # Imprime La suma de los números es 15
En el contexto de la línea de comandos, estos argumentos son, efectivamente, instrucciones, datos o información que le proporcionamos al programa para que sepa qué debe hacer.
¡Para recordar!
Los argumentos de línea de comandos son una parte fundamental de la programación y se utilizan para proporcionar información a un programa cuando se ejecuta desde la interfaz de línea de comandos o CLI (Command Line Interfase en inglés).
Para ser más específicos, cuando hablamos de argumentos de línea de comandos, nos referimos a aquellos valores que pasamos a un programa cuando lo ejecutamos desde la terminal o consola. Puedes repasar los conceptos de CLI y de Terminal haciendo clic aquí.
Por ejemplo, en el comando:
copy
es el nombre del programa que se ejecuta.archivo1.txt
yarchivo2.txt
son los argumentos que se pasan al programa.
En este caso, el programa
copy
copiará el contenido del archivoarchivo1.txt
al archivoarchivo2.txt
.
¿Qué ventajas nos ofrecen los argumentos de línea de comandos? Veamos a continuación.
Ventajas de usar argumentos de línea de comandos
Python, como muchos lenguajes de programación, permite recibir datos e información de dos maneras principales:
- a través de la función
input()
durante la ejecución del programa, o - mediante la inclusión de argumentos al momento de ejecutar el programa desde la línea de comandos.
Los argumentos de línea de comandos son valores que proporcionas justo cuando ejecutas el programa. Por ejemplo, en lugar de escribir solamente:
Para ejecutar el programa sin pasar ningun dato o información a este; puedes agregar información adicional después del nombre del archivo:
Para personalizar la ejecución del programa, proporcionar información adicional, brindar datos para comenzar directamente con su procesamiento o incluso para automatizar tareas.
Conclusiones
Esta funcionalidad, que es una característica que no solo se aplica a Python sino a los lenguajes de programación en general, permite pasar uno o múltiples argumentos (palabras, números o frases completas) que el programa recibirá automáticamente desde un entorno de linea de comandos sin necesidad de solicitarlos uno por uno al usuario, eliminando así la necesidad de usar múltiples input() en el código y haciendo que los programas sean más eficientes y fáciles de usar, especialmente cuando necesitas proporcionar varios datos de entrada al momento de ejecutar el programa.
Por lo tanto, resulta ser una característica especialmente útil en entornos de línea de comandos, donde la interacción directa con el programa puede no ser práctica o deseable.
En resumen, los argumentos de línea de comandos son una forma eficiente de proporcionar información a un programa en el momento de su ejecución, lo que facilita la personalización de la ejecución del programa y la automatización de tareas.
Veamos cómo trabajar con argumentos de línea de comandos en Python y cómo podemos aprovechar esta funcionalidad para mejorar nuestros programas.