Importa un modulo da un percorso completo di file in Python
- Importa un modulo con un percorso file completo in Python 3.5+
- Importa un modulo con un percorso file completo in Python 3.3 e 3.4
- Importa un modulo con un percorso file completo in Python 2
Per importare un file Python da un determinato percorso, usa le librerie Python basate sulla versione Python. Questo articolo spiega come importare un modulo dato il percorso completo del modulo in Python.
Usa le seguenti funzioni delle librerie basate sulla versione Python per importare i moduli.
- Per Python 3.5+, importare
importlib.util
. - Per Python 3.3 e 3.4, importare
importlib.machinery
,SourceFileLoader
. - Per Python 2, importa
imp
.
Prima di iniziare, prepara la configurazione del file per dimostrare gli esempi.
- Menzionare il seguente codice nel file
addmodule.py
.
def printingstatement():
print("From addmodule.py")
- Posiziona
addmodule.py
all’interno di una cartella. Negli esempi seguenti, è all’interno dic:\\Users\\Rexjohn\\Folder-1\\
.
Importa un modulo con un percorso file completo in Python 3.5+
Per Python 3.5+, usa le funzioni della libreria importlib.util
per importare un modulo:
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()
Qui, usa le seguenti funzioni dalla libreria importlib.util
.
spec_from_file_location(MODULE_NAME, MODULE_PATH)
. Si prega di indicare il percorso completo del file del nome del moduloMODULE_NAME
inMODULE_PATH
.module_from_spec(spec)
exec_module(modulevar)
Produzione:
From addmodule.py
Importa un modulo con un percorso file completo in Python 3.3 e 3.4
Se stai lavorando con Python 3.3 e 3.4, puoi utilizzare le funzioni della libreria importlib.machinery
, SourceFileLoader
per importare un modulo:
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()
Qui, usa le seguenti funzioni dalle librerie importlib.machinery
, SourceFileLoader
menzionando.
SourceFileLoader(MODULE_NAME, MODULE_PATH).load_module()
Produzione:
From addmodule.py
Importa un modulo con un percorso file completo in Python 2
Per Python 2, usa le funzioni della libreria imp
per importare un modulo:
import imp
MODULE_PATH = "c:\\Users\\Rexjohn\\Folder-1\\addmodule.py"
MODULE_NAME = "addmodule"
modulevar = imp.load_source(MODULE_NAME, MODULE_PATH)
modulevar.printingstatement()
Qui, usa la seguente funzione dalla libreria imp
.
load_source(MODULE_NAME, MODULE_PATH)
Produzione:
From addmodule.py