Importar constantes segun condicion
Marcos Sánchez Provencio
rapto en arrakis.es
Jue Feb 8 16:23:03 CET 2007
A ver esto:
http://pyspanishdoc.sourceforge.net/lib/built-in-funcs.html
Mira __import__
El jue, 08-02-2007 a las 14:31 +0100, Alejandro Novo escribió:
> Hola a todos,
>
> Tengo un problemilla, os cuento. Dispongo de 2 ficheros con constantes
> definidas, los nombres de las constantes son los mismos pero los valores
> difieren, por ejemplo:
>
> ImportLocal.py
> -------------------------------
> DIR = '/usr/home'
>
> ImportRemote.py
> ----------------------------
> DIR = 'usr/bin/etc'
>
> A su vez tengo un fichero que me dice cual de los dos ficheros donde estan
> definidas las constantes tengo que coger, por ejemplo:
>
> Host.py
> ----------------
> GUEST = 'Local'
>
> Por último tengo otro fichero que dependiendo del valor que tenga la
> constante GUEST de Host.py, importara la constantes DIR de un u otro
> fichero.
>
> La manera "guarra" que he usado ha sido ... http://pastebin.com/878200 (aquí
> se ve más claro)
>
> try:
> > if GUEST == 'Local':
> > import ImportLocal
> > pattern = re.compile('\A__*')
> > l = dir(ImportLocal)
> > for elem in l:
> > if not pattern.search(elem):
> > print 'Voy a importar ... ', elem
> > s = 'from ImportLocal import %s' % elem
> > exec s
> > else:
> > import ImportRemote
> > pattern = re.compile('\A__*')
> > l = dir(ImportRemote)
> > for elem in l:
> > if not pattern.search(elem):
> > print 'Voy a importar ... ', elem
> > s = 'from ImportRemote import %s' % elem
> > exec s
> > except:
> > 'No existe!
> >
> ¿se os ocurre otra manera mas elegante de hacerlo? necesito que se pueda
> hacer tanto "Import xxx" como "from xxx import y".
>
> Muchas gracias!
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es
Más información sobre la lista de distribución Python-es