dificultades con getopt
Joaquin Jose del Cerro Murciano
jjdelcerromurciano en yahoo.es
Jue Oct 27 08:25:29 CEST 2005
El Miércoles, 26 de Octubre de 2005 22:48, Sergio Fdez escribió:
> Verán, resulta que no consigo encontrar el fallo usando getopt y me
> estoy empezando a frustrar.
>
> Un resumen del código seria:
>
> opts, args = getopt.getopt(argv, "dufh:",
> ["dir=","url=","file=","help"])
> for opt, arg in opts:
> (...)
>
> Pues bien, no sé porque pero getopt devuelve pares con el segundo valor
> (el que luego guardaré en arg) vacio.
>
> He conseguido que me funcione probando con una sola opción:
>
> opts, args = getopt.getopt(argv, "u:", ["url="])
>
> pero necesito porder indicarle más variables.
>
> ¿Alguién tiene alguna pista de que es lo que puedo estar haciendo
> mal...?
Asi con lo que se ve en el codigo, lo que puedo ver es que puede haber una
incongruencia entre lo que recoges con el formato largo y el corto (el de una
letra).
Si
-d ----> --dir
-u ---> --url
-f ----> --file
En los largos has indicado que cada flag lleva un parametro adicional (con el
igual al final), y en los cortos solo as indicado que debe llevar un
parametro al final del "-h", justo el que no lo lleva en el formato largo.
Para hacer coherente el formato largo con el corto, el corto deberia ser algo
como "d:u:f:h", que indica que "-d", "-u", y "-f" requieren de un argumento
adicional , y "-h" no.
Un saludo
Joaquin
______________________________________________
Renovamos el Correo Yahoo!
Nuevos servicios, más seguridad
http://correo.yahoo.es
Más información sobre la lista de distribución Python-es