Importa moduli dalla directory principale in Python

Muhammad Waiz Khan 30 gennaio 2023
  1. Importa un modulo dalla directory padre in Python utilizzando l’importazione relativa
  2. Importa un modulo dalla directory principale in Python aggiungendolo a PYTHONPATH
  3. Importa un modulo dalla directory padre in Python usando il metodo sys.path.insert()
Importa moduli dalla directory principale in Python

Questo tutorial spiegherà vari metodi per importare un modulo dalla directory principale in Python. Importiamo diversi moduli per utilizzare altre funzionalità nel nostro codice. Ci evita di copiare o implementare nuovamente le funzionalità e rende il codice pulito e più facile da capire.

Supponiamo di voler importare un modulo dalla directory padre della directory del progetto corrente. Possiamo farlo utilizzando diversi metodi, che sono spiegati di seguito.

Importa un modulo dalla directory padre in Python utilizzando l’importazione relativa

L’importazione relativa viene utilizzata per importare un modulo nel codice utilizzando il percorso della directory corrente come riferimento. Per importare un modulo usando l’istruzione import, dovremo prima dichiarare la directory un pacchetto aggiungendo il file __init__.py nella directory principale. Una volta che la directory padre è stata dichiarata pacchetto, possiamo importare il modulo utilizzando l’approccio relativo al pacchetto.

Supponiamo di avere il seguente albero di directory.

parent_parent_directory/
    parent_directory/
        mymodule.py
        __init__.py
    current_directory/
        currentmodule.py
    mymodule.py
    __init__.py

Il codice di esempio seguente mostra come importare il modulo dal pacchetto padre.

from ..parent_directory import mymodule

Per importare il modulo dalla directory due livelli sopra dalla directory corrente, dovremo mettere tre punti prima del nome della directory del pacchetto per tornare indietro di due livelli, come mostrato nel codice di esempio sotto.

from ...parent_parent_directory import mymodule

Importa un modulo dalla directory principale in Python aggiungendolo a PYTHONPATH

PYTHONPATH è una variabile d’ambiente che specifica la lista delle directory che Python dovrebbe cercare per importare moduli e pacchetti.

Quindi, se aggiungiamo la directory genitore da cui dobbiamo importare il modulo, Python cercherà automaticamente nella directory genitore e troverà il modulo richiesto.

Importa un modulo dalla directory padre in Python usando il metodo sys.path.insert()

Possiamo anche usare il metodo sys.path.insert() per aggiungere la directory principale all’elenco sys.path, che è la lista di stringhe che specifica i percorsi per cercare i pacchetti e i moduli. Il sys.path contiene la lista delle directory delle variabili d’ambiente PYTHONPATH, e altri percorsi possono anche essere aggiunti usando il metodo sys.path.insert().

Il codice di esempio seguente mostra come utilizzare il metodo sys.path.insert() per aggiungere la directory padre all’elenco sys.path in Python.

import mymodule
import os
import sys

p = os.path.abspath(".")
sys.path.insert(1, p)

Articolo correlato - Python Import