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