Re: Resumen de Python-es, Vol 298, Envío 14

Alejandro Novo alejandro.novo en gmail.com
Vie Feb 9 09:09:48 CET 2007


>
> No sé lo que pretendes hacer, pero, sea lo que sea, lo estás
> complicando bastante.
>
> Lo primero: no necesitas expresiones regulares para chequear el inicio
> de una cadena de texto. Mejor emplea .startswith().
>
> Luego, lo de "from...import..." : parece que lo que pretendes es
> copiar el espacio de nombres de un módulo en éste. Creo que podrías
> evitarlo si sigues las instrucciones de creación de paquetes. Por
> ejemplo, " from...import * "  haría lo mismo que pretendes hacer ya
> que no importa aquellos objetos que empiecen por subrayado.
>
> Aún así, te pongo una alternativa siguiendo el mismo método que hacía tu
> código:
>
> if GUEST == 'Local':
>  import ImportLocal as mimodulo
> else:
>  import ImportRemote as mimodulo
>
> it_importado=vars(mimodulo).iteritems()
> elementos=((k,v) for (k,v) in it_importado if not k.startswith("__"))
> globals().update( dict(elementos) )


Muchas gracias Chema, era justo lo que necesitaba hacer. Ya me imaginaba yo
que se podría hacer de forma mucho más elegante :)

Un saludo.




Más información sobre la lista de distribución Python-es