Importer une classe à partir de sous-répertoires en Python

Muhammad Maisam Abbas 10 octobre 2023
Importer une classe à partir de sous-répertoires en Python

Dans ce didacticiel, nous discuterons des méthodes pour importer des classes à partir de sous-répertoires en Python.

Importer des classes à partir de sous-répertoires avec l’instruction import en Python3

Dans Python 3.x, importer des classes à partir du sous-répertoire courant ou de tout autre sous-répertoire est très simple. Nous utiliserons la structure de répertoires suivante dans ce didacticiel.

Main/
    main.py
    A.py
    B/
        B.py

Les fichiers A.py et B.py contiennent deux classes, Aclass et Bclass, que nous importerons dans la classe main.py. Le code de A.py et B.py est indiqué ci-dessous.

Fichier A.py

class Aclass:
    a = 5

    def show(this):
        print("Hello! this is class A")

Fichier B.py:

class Bclass:
    b = 5

    def show(this):
        print("Hello! this is class B")

L’instruction import importe la Aclass et la Bclass dans main.py. L’exemple de code suivant nous montre comment importer des classes à partir de sous-répertoires avec l’instruction import en Python.

from A import Aclass
from B.B import Bclass

var1 = Aclass()
var2 = Bclass()

var1.show()
var2.show()

Production:

Hello! this is class A
Hello! this is class B

Dans le code ci-dessus, nous importons à la fois Aclass et Bclass dans le fichier main.py avec l’instruction import. Pour les fichiers dans le même répertoire, nous devons utiliser la notation suivante.

from filename import classname

Le filename est le nom du fichier, et le classname est le nom de la classe à importer. Pour les fichiers du sous-répertoire, nous devons suivre la notation suivante.

from dirname.filename import classname

Le dirname est le nom du répertoire dans lequel se trouve le fichier, le filename est le nom du fichier, et le classname est le nom de la classe à importer. Pour les fichiers dans les sous-répertoires ou sous-sous-répertoires, nous devons ajouter un autre .subdirname comme indiqué ci-dessous.

from dirname.subdirname.filename import classname

Le dirname est le nom du répertoire, subdirname est le nom du sous-répertoire contenant le fichier, le filename est le nom du fichier, et le classname est le nom de la classe à être importé.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Article connexe - Python Class