Module d'importation à partir d'un sous-répertoire en Python

Muhammad Waiz Khan 30 janvier 2023
  1. Importer un module depuis le sous-répertoire en Python en utilisant __init__.py
  2. Importer un module depuis le sous-répertoire en Python en utilisant la méthode sys.path.insert()
Module d'importation à partir d'un sous-répertoire en Python

Ce tutoriel explique les différentes méthodes pour importer un module depuis le sous-répertoire en Python. Supposons que nous ayons un fichier dans un sous-répertoire du répertoire du projet, et que nous voulions importer ce fichier et utiliser ses méthodes dans notre code.

Nous pouvons importer le fichier à partir d’un sous-répertoire en Python en déclarant le sous-répertoire comme un paquet. Ainsi, Python le traitera comme un paquet, et nous pourrons importer le fichier pour ce répertoire. L’autre option peut être d’ajouter le sous-répertoire à la variable d’environnement PYTHONPATH, et c’est le chemin où Python cherche les paquets à importer par défaut. Les détails et l’utilisation de ces méthodes sont donnés ci-dessous.

Importer un module depuis le sous-répertoire en Python en utilisant __init__.py

Le fichier __init__.py est utilisé pour déclarer un répertoire comme un paquet. Le fichier __init__.py empêche Python de mélanger le répertoire avec le même nom, donc pour différencier un simple répertoire d’un paquet, le fichier __init__.py est utilisé.

Le fichier __init__.py peut être vide, ou il peut contenir le code nécessaire pour initialiser le paquet et une liste des modules à importer avec le paquet ; cette liste est représentée par la variable __all__.

Une fois que le fichier __init__.py est ajouté au sous-répertoire, nous pouvons importer le fichier depuis le sous-répertoire comme le montre l’exemple de code suivant :

import subdirectory.myfile

Importer un module depuis le sous-répertoire en Python en utilisant la méthode sys.path.insert()

L’autre méthode pour importer un fichier à partir du sous-répertoire est d’ajouter ce répertoire au PYTHONPATH. Le PYTHONPATH est la variable d’environnement qui contient le chemin des répertoires que Python recherche pour importer les paquets.

Par conséquent, si nous ajoutons le sous-répertoire au PYTHONPATH en utilisant la méthode sys.path.insert(), Python regardera d’abord les répertoires dans PYTHONPATH et l’importera de là.

La méthode sys.path.insert() insérera le sous-répertoire dans la variable sys.path ou PYTHONPATH qui contient la liste des répertoires que Python cherchera pour importer le module requis.

L’exemple de code ci-dessous montre comment utiliser la méthode sys.path.insert() pour importer un fichier depuis le sous-répertoire :

import myfile
import sys

sys.path.insert(0, "./subdirectory")

Article connexe - Python Import