AttributeError: el objeto 'módulo' no tiene atributo
Al ejecutar el módulo Python a.py con importaciones mutuas de nivel superior, se encuentra el error "AttributeError: el objeto 'módulo' no tiene el atributo 'hola'". Este error se produce debido a una configuración problemática en las declaraciones de importación de ambos módulos.
En a.py, importa el módulo b y llama a su función hi(). Sin embargo, en el b.py al que se hace referencia, no hay ningún atributo hi. Esto da como resultado un error que indica que no se puede acceder a la función hi() desde b dentro del contexto de a.
Para rectificar este problema, generalmente no es recomendable tener importaciones mutuas de nivel superior como esta. En su lugar, considere importar módulos dentro de funciones de la siguiente manera:
# In b.py:
def cause_a_to_do_something():
import a
a.do_something()
Al encapsular la importación dentro de una función en b.py, permite que a.py importe b de forma segura sin activar el error. Además, este enfoque garantiza que la operación de importación solo se produzca una vez, a pesar de que la función se llame varias veces.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3