Sto cercando di importare solo una variabile all'interno di una classe da un altro modulo:Importa una variabile di classe da un altro modulo
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)
posso fare quanto segue, ma preferirei di importare solo la variabile Ho bisogno.
from module import class as tmp
new_variable_name = tmp.variable
del tmp
È possibile?
Sono corretto nel pensare che questo importerà l'intero modulo? Equivalente a 'import module' then' variable = module.class.variable'? –
Tranne che non associa alcun nome al modulo importato. va bene: 'dal modulo import clazz'" importa l'intero modulo "troppo, * esattamente nello stesso modo *. Semplicemente non c'è modo di aggirare questo, la definizione della classe non può essere garantita avere senso senza il resto del modulo contesto, e allo stesso modo per gli attributi della classe. –
@Alex Sarà sempre importato il modulo * whole * (ma dipende dalla tua dichiarazione * cosa * sarà disponibile nello scope degli script). 'da x1 import x2' caricherà' x1' e poi guarderà dove trovare 'x2', sia nell'ambito di' x2' sia come sotto-pacchetto. –