Importar um módulo de um caminho de arquivo completo em Python
- Importar um módulo com um caminho de arquivo completo em Python 3.5+
- Importar um módulo com um caminho de arquivo completo no Python 3.3 e 3.4
- Importar um módulo com um caminho de arquivo completo no Python 2
Para importar um arquivo Python de um determinado caminho, use as bibliotecas Python baseadas na versão Python. Este artigo explica como importar um módulo com o caminho completo para o módulo em Python.
Use as funções das seguintes bibliotecas com base na versão Python para importar módulos.
- Para Python 3.5+, import
importlib.util
. - Para Python 3.3 e 3.4, importe
importlib.machinery
,SourceFileLoader
. - Para Python 2, importe
imp
.
Antes de começar, prepare a configuração do arquivo para demonstrar os exemplos.
- Mencione o seguinte código no arquivo
addmodule.py
.
def printingstatement():
print("From addmodule.py")
- Coloque
addmodule.py
dentro de uma pasta. Nos exemplos abaixo, está dentro dec:\\Users\\Rexjohn\\Folder-1\\
.
Importar um módulo com um caminho de arquivo completo em Python 3.5+
Para Python 3.5+, use as funções da biblioteca importlib.util
para importar um módulo:
import importlib.util
MODULE_PATH = "c:\\Users\\Rexjohn\\Folder-1\\addmodule.py"
MODULE_NAME = "addmodule"
spec = importlib.util.spec_from_file_location(MODULE_NAME, MODULE_PATH)
modulevar = importlib.util.module_from_spec(spec)
spec.loader.exec_module(modulevar)
modulevar.printingstatement()
Aqui, use as seguintes funções da biblioteca importlib.util
.
spec_from_file_location(MODULE_NAME, MODULE_PATH)
. Mencione o caminho completo do arquivo do nome do móduloMODULE_NAME
emMODULE_PATH
.module_from_spec(spec)
exec_module(modulevar)
Resultado:
From addmodule.py
Importar um módulo com um caminho de arquivo completo no Python 3.3 e 3.4
Se estiver trabalhando com Python 3.3 e 3.4, você pode usar as funções da biblioteca importlib.machinery
, SourceFileLoader
para importar um módulo:
from importlib.machinery import SourceFileLoader
MODULE_PATH = "c:\\Users\\Rexjohn\\Folder-1\\addmodule.py"
MODULE_NAME = "addmodule"
modulevar = SourceFileLoader(MODULE_NAME, MODULE_PATH).load_module()
modulevar.printingstatement()
Aqui, use as seguintes funções das bibliotecas importlib.machinery
, SourceFileLoader
mencionando.
SourceFileLoader(MODULE_NAME, MODULE_PATH).load_module()
Resultado:
From addmodule.py
Importar um módulo com um caminho de arquivo completo no Python 2
Para Python 2, use as funções da biblioteca imp
para importar um módulo:
import imp
MODULE_PATH = "c:\\Users\\Rexjohn\\Folder-1\\addmodule.py"
MODULE_NAME = "addmodule"
modulevar = imp.load_source(MODULE_NAME, MODULE_PATH)
modulevar.printingstatement()
Aqui, use a seguinte função da biblioteca imp
.
load_source(MODULE_NAME, MODULE_PATH)
Resultado:
From addmodule.py