¿Puedes definir alias para módulos importados en Python?

141

En Python, ¿es posible definir un alias para un módulo importado?

Por ejemplo:

import a_ridiculously_long_module_name

... así que tiene un alias de 'nombre_corto'.

Jordan Parmer
fuente

Respuestas:

191
import a_ridiculously_long_module_name as short_name

también funciona para

import module.submodule.subsubmodule as short_name
vartec
fuente
desde el módulo import sub_module_1 como s1, sub_module_2 como s2
phreed
40

Chequea aquí

import module as name

o

from relative_module import identifier as name
Brian R. Bondy
fuente
77
Hmm, cuando trato de hacerlo from name import X(después de la definición del alias) me sale No module named name. ¿Podemos importar módulos desde alias?
Amelio Vazquez-Reina
2
Parece que no puedes, aquí está la respuesta más clara que encontré para ese stackoverflow.com/a/40823467
fr_andres
32

Si has hecho:

import long_module_name

También puedes darle un alias al:

lmn = long_module_name

No hay ninguna razón para hacerlo de esta manera en el código, pero a veces me resulta útil en el intérprete interactivo.

John Fouhy
fuente
55
Para algunos propósitos, esto es mejor que las respuestas principales (importe long_module_name como lmn) porque aún puede hacer referencia al módulo tanto por long_module_name.x como lmn.x
Anas Elghafari
Esta es la respuesta técnicamente correcta para la pregunta: alias para módulos importados.
DigitalEye
2
La razón por la que esto es posible es que los módulos son objetos de primera clase en Python.
md2perpe
0

Sí, los módulos se pueden importar con un nombre de alias. utilizando como palabra clave Ver

import math as ilovemaths # here math module is imported under an alias name
print(ilovemaths.sqrt(4))  # Using the sqrt() function
PythonLover
fuente
0

desde MODULE import TAGNAME como ALIAS

邢 烽 朔
fuente
1
¿Puedes ser más específico por favor? Esta respuesta no está formateada correctamente y no da una explicación.
10 representantes