Saltar a contenido

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:

Soliticando datos con input(), de manera tradicional
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:

Ejecutando el programa con argumentos, pasando los datos directamente en la línea de comandos
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:

Terminal (Entrada/Salida)
copy archivo1.txt archivo2.txt
  • copy es el nombre del programa que se ejecuta.
  • archivo1.txt y archivo2.txt son los argumentos que se pasan al programa.

En este caso, el programa copy copiará el contenido del archivo archivo1.txt al archivo archivo2.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:

 python programa.py

Para ejecutar el programa sin pasar ningun dato o información a este; puedes agregar información adicional después del nombre del archivo:

 python programa.py argumento1 argumento2 argumento3  argumentoN

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.