HOWTO · Python
Importar um módulo de um caminho de arquivo completo em Python
Este artigo mostra como importar um arquivo Python de um caminho.
Nesta página
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.pydentro 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_NAMEemMODULE_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