Qué son los argumentos de la línea de comandos

| Última modificación: 10 de abril de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Los argumentos de la línea de comandos o, en inglés, Command Line Arguments son argumentos que se brindan en el shell, después del nombre de lenguaje de programación. Estos, según la documentación del lenguaje de programación Python, son parámetros de entrada que se añaden al script para ejecutarlo.

La línea de comandos siempre corresponde al sistema operativo, es decir, la librería o modulo sys (que utiliza la línea de comandos) son parámetros y funciones específicos del sistema operativo. En este post profundizaremos en qué es la librería sys, qué son los argumentos de la línea de comandos y para qué sirven.

Librería sys

Como te contamos anteriormente, la librería sys son parámetros y funciones específicas de un sistema operativo. Esta librería se debe importar para después trabajar los argumentos de la línea de comandos. Ahora, la función que utiliza para los argumentos es específica, pues hay una serie de otras funciones que se utilizan con la librería sys, como sys.abiflags o sys.base_prefix.

Argumentos de la línea de comandos

En este caso, en los argumentos de la línea de comandos o CLI (Interfaz de Líneas de Comandos) tendremos en cuenta la función sys.argv. La función sys.argv representa la lista de los argumentos de la línea de comandos que se la han pasado a un script de Python. Al ser una lista, puedes acceder a ellas a través de un número de índices que empiezan en 0. Por tanto, 0 es la primera posición de la lista, el nombre del script. Veamos este ejemplo:

#el script se nombra como argumentos.py

import sys

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

print (sys.argv)

#si le imprimes argumentos al script

argumentos.py uno dos tres

#el resultado da una lista que empieza a contar desde el número 0

[‘argumentos’, ‘uno’, ‘dos’, ‘tres]

Para términos de ejercicios de programas, deberás descartar el 0, pues es solo el nombre del script. Puedes entender, con mayor claridad, qué son los argumentos de la línea de comandos y su funcionamiento por medio del siguiente ejemplo:

Imagina que estamos tratando de definir tres variables o parámetros por medio de los argumentos de la línea de comandos. Estos parámetros son para un programa que busca cambiar una palabra por otra en una texto específico.

#fichero.txt – texto al que se cambiarán las palabras

# python argumentos de entrada

Teresa trajo unas tizas. Tres tizas trajo Teresa. ¿Cómo las tizas trajo? hechas trizas las tres tizas Tereza. ¿Cómo destrozó las tizas? Tres tizas hechas trizas trajo Teresa debajo del brazo.

#con la instrucción que se da en el terminal se cambia la palabra tizas por la palabra yesos y resulta en:

Teresa trajo unas yesos. Tres yesostrajo Teresa. ¿Cómo las yesos trajo? hechas trizas las tres yesos Tereza. ¿Cómo destrozó las yesos? Tres yesos hechas trizas trajo Teresa debajo del brazo.

programa: cambiaPalabras.py
#importar la librería del sistema (sys) al programa

import sys

#los parámetros de entrada

# command line arguments

nombre_fichero = sys.argv [1]

palabra_original = sys.argv [2]

palabra_nueva = [3]

#la instrucción en la terminal
>>cambiaPalabras.py fichero.txt

tizas yesos

Los argumentos también pueden trabajarse de otras formas. Por ejemplo, si seguimos pensando en el ejemplo anterior, pero, esta vez, queremos construir un programa un poco más robusto y que vaya al hecho, podrías manejar la siguiente instrucción que se leería diferente, pero invocaría la misma acción que las instrucciones del ejemplo anterior.

#definición de los argumentos

argumentos = sys.argv

#condición para saber cuántos argumentos son necesarios o no en la función

if len (argumentos) == 4

#parámetros de entrada

nombre_fichero = argumentos [1]

palabra_original = argumentos [2]

palabra_nueva = argumentos [3]

De cualquiera manera, esta forma es mucho más simple de leer, de entender y de integrar en el programa. Si bien no cambia la forma en la que el código se ejecuta, la comparación entre la forma de invocación anterior y esta te muestra las posibilidades que hay de trabajar sobre cualquier código. Todo depende de tu forma de ver los problemas y de las herramientas que utilices.

Conoce más sobre comandos

Ahora que conoces bien qué son los argumentos de la línea de comandos o CLI, puedes integrar estas funciones en tus programas para facilitar la resolución de problemas por medio del pensamiento computacional. Como has podido ver, no hay solo una forma para hacerlo. Por otro lado, hay varias posibilidades de organizar y ejecutar un problema.

Si quieres conocer más comandos y formas de ejecutar programas, te recomendamos visitar los contenidos del Bootcamp Aprende a Programar desde Cero, donde se hace un recorrido por los primeros pasos que dar para la programación en Python. Y si te interesa y necesitas más información, no dudes en contactarnos. ¡Te esperamos!

Ramón Maldonado

Full Stack Developer y Responsable de Formación base en KeepCoding.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Aprende a Programar desde Cero

Full Stack Jr. Bootcamp

Apúntate y consigue uno de los perfiles más demandados con Python en solo 4 meses.