Móduls importados con __import__
Santi Camps
santi en zetadb.com
Jue Mayo 27 15:46:41 CEST 2004
En/na Chema Cortés ha escrit:
>El Miércoles, 26 de Mayo de 2004 21:34, Santi Camps escribió:
>
>
>
>>¿ A alguien se le ocurre una razón ?
>>
>>
>
>Ummm! Sólo se me ocurre que sea por causa de la resolución de métodos. Me
>faltaría ver la jerarquía de clases y algo más del código.
>
>Cuando se accede al método del objeto adaptado no necesita realizar una
>búsqueda por la jerarquía de clases, por lo que es lógico que pueda ser algo
>más rápido, pero tampoco como para que destaque tanto. No creo que sea un
>problema específico del __import__. ¿Qué versión de python estás utilizando?
>En el python 2.3 se mejoró el algoritmo de búsqueda de métodos (algoritmo
>C3).
>
>
Estoy usando python 2.3.3 y Zope 2.7.0
He ganado algo definiendo una función my_import al estilo del manual de
python y haciendo caché de objetos instanciados en lugar de hacer caché
de la clase. Entre esto y un par de problemillas típicamente zoperos
que he solucionado, la cosa responde a un nivel que permite trabajar.
Aunque todavía tengo algunos puntos que van demasiado lentos para mi
gusto, seguramente ya no sean temas de python sinó de mi programa.
########################################################################
def my_import(adapter_path):
mod = __import__(adapter_path[0])
components = adapter_path[0].split('.')
for comp in components[1:]:
mod = getattr(mod, comp)
return getattr(mod, adapter_path[1])
Gracias
Santi Camps
------------ 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