sábado, 6 de septiembre de 2008

Leer los parámetros de la lista de comandos en python

La mayoría de programas que se usan mediante la línea de comandos aceptan parámetros y eso es lo que le da a estos programas mayor flexibilidad que a los que se usan mediante interfaz gráfica.

Para leer los parámetros de un programa en python nos puede servir la librería optparse.

Tiene bastantes opciones e incluso genera la ayuda de forma automática al llamar al programa con -h.
Un ejemplo de como se utiliza.

#!/usr/bin/python

from optparse import OptionParser

parser=OptionParser()
parser.add_option("-a", "--all", dest="todos", action="store_true", default=False,
help="afecta a todos los elementos")
parser.add_option("-f", action="store_false", dest="todos",
help="affecta solo al primer elemento")
parser.add_option("--without-output", action="store_false", dest="output", default=True,
help="sin mostrar salida")
parser.add_option("-i", "--insert", action="store", dest="newValue",
help="inserta un elemento al final de la lista")

(options, args)=parser.parse_args()

lista=[1,2,3,4,5,6,7,8,9];
nuevaLista=lista

if options.todos:
nuevaLista=map(lambda n: n*2, lista)
else:
nuevaLista[0]=lista[0]*2

if options.newValue:
nuevaLista.append(int(options.newValue))

if options.output:
print nuevaLista

Se pueden combinar parámetros, agrupar, hacerlos excluyentes... casi todo lo que se ocurra, si necesitas algo más específico mira en el enlace anterior.

0 comentarios: