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.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