Estoy tratando de importar sólo una variable dentro de una clase de otro módulo:Importar una variable de clase de otro módulo
import module.class.variable
# ImportError: No module named class.variable
from module.class import variable
# ImportError: No module named class
from module import class.variable
# SyntaxError: invalid syntax (the . is highlighted)
que puede hacer lo siguiente, pero yo prefiero que acaba de importar la una variable Necesito.
from module import class as tmp
new_variable_name = tmp.variable
del tmp
¿Esto es posible?
¿Estoy en lo cierto al pensar que esto importará todo el módulo? Equivalente a 'import module' then' variable = module.class.variable'? –
Excepto que no vinculará ningún nombre al módulo importado. está bien; 'from module import clazz'" importa todo el módulo "también, * exactamente de la misma manera *. Simplemente no hay forma de evitar esto; no se puede garantizar que la definición de clase tenga sentido sin el resto del módulo contexto, y de manera similar para los atributos de la clase. –
@Alex Siempre se importará el * módulo * completo (pero depende de tu declaración * qué * estará disponible en el alcance de tus scripts). 'from x1 import x2' cargará' x1' y luego buscará dónde encontrar 'x2', ya sea en el ámbito de' x2' o como un subpaquete. –