Você pode definir aliases para módulos importados no Python?

141

No Python, é possível definir um alias para um módulo importado?

Por exemplo:

import a_ridiculously_long_module_name

... de modo que tem um alias de 'short_name'.

Jordan Parmer
fonte

Respostas:

191
import a_ridiculously_long_module_name as short_name

também trabalha para

import module.submodule.subsubmodule as short_name
vartec
fonte
do módulo import sub_module_1 como s1, sub_module_2 como s2
phreed
40

Verifique aqui

import module as name

ou

from relative_module import identifier as name
Brian R. Bondy
fonte
7
Hmm, quando tento fazer from name import X(após a definição do alias) eu recebo No module named name. Podemos importar módulos de aliases?
Amelio Vazquez-Reina
2
Parece que você não pode, aqui está a resposta mais clara que encontrei para que stackoverflow.com/a/40823467
fr_andres
32

Se você fez:

import long_module_name

você também pode atribuir um alias ao:

lmn = long_module_name

Não há razão para fazê-lo dessa maneira no código, mas às vezes acho útil no intérprete interativo.

John Fouhy
fonte
5
Para alguns propósitos é melhor do que as principais respostas (long_module_name importação como LMN), porque você ainda pode fazer referência ao módulo por ambos long_module_name.x e lmn.x
Anas Elghafari
Esta é a resposta tecnicamente correta para a pergunta: aliases para módulos importados.
DigitalEye
2
A razão pela qual isso é possível é que os módulos são objetos de primeira classe no Python.
Md2perpe 10/04
0

Sim, os módulos podem ser importados com um nome alternativo. usando como palavra-chave. Vejo

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

de MODULE import TAGNAME como ALIAS

邢 烽 朔
fonte
1
Você pode por gentileza ser mais específico? Esta resposta não está formatada corretamente e não fornece uma explicação.
10 Rep