Importa un modulo da un percorso completo di file in Python

Najwa Riyaz 30 gennaio 2023
  1. Importa un modulo con un percorso file completo in Python 3.5+
  2. Importa un modulo con un percorso file completo in Python 3.3 e 3.4
  3. Importa un modulo con un percorso file completo in Python 2
Importa un modulo da un percorso completo di file in Python

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.

  1. Per Python 3.5+, importare importlib.util.
  2. Per Python 3.3 e 3.4, importare importlib.machinery, SourceFileLoader.
  3. 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 di c:\\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 modulo MODULE_NAME in MODULE_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

Articolo correlato - Python Import