Obtener los argumentos pasados a la aplicación usando sys

Para obtener los argumentos pasados a un script Python, se puede usar el módulo sys, esto se hace incluyendo import sys al principio del programa y revisando el atributo argv para ver si tiene argumentos, cuantos y cuales son.

Tras importar el módulo en el script, los argumentos se recogen en un atributo del tipo lista llamado sys.argv. Esta lista contiene como mínimo un elemento, que es el nombre del programa, el resto de elementos son los argumentos que se han pasado.

Para saber cuántos argumentos se han pasado hay que averiguar la cantidad de elementos del atributo, para esto se usa len(sys.argv)-1.

Si se recorre la lista de elementos, sys.argv[0] será el nombre de la aplicación, sys.argv[1] será el primer argumento pasado y sys.argv[len(sys.argv)] será el último.

El siguiente ejemplo muestra su uso:

import sys
print('Los argumentos obtenidos son: %s' %(len(sys.argv)-1))
print('La lista completa contiene: ' , sys.argv)
print('Los argumentos son los siguientes:')
if len(sys.argv)>1:
    for x in range(1,len(sys.argv)):
        pass
        print('%s: %s' %(x,sys.argv[x]))

Se ejecuta el script pasando varios argumentos.

$ python param.py uno dos tres
Los argumentos pasados son: 3
La lista completa contiene:  ['param.py', 'uno', 'dos', 'tres']
Los argumentos son los siguientes:
1: uno
2: dos
3: tres

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *