Importar classe de subdiretórios em Python

Muhammad Maisam Abbas 10 outubro 2023
Importar classe de subdiretórios em Python

Neste tutorial, discutiremos métodos para importar classes de subdiretórios em Python.

Importar classes de subdiretórios com a instrução import em Python3

No Python 3.x, importar classes do diretório atual ou de qualquer subdiretório é muito fácil. Usaremos a seguinte estrutura de diretório neste tutorial.

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

Os arquivos A.py e B.py contêm duas classes, Aclass e Bclass, que importaremos para a classe main.py. Os códigos de A.py e B.py são mostrados abaixo.

Arquivo A.py:

class Aclass:
    a = 5

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

Arquivo B.py:

class Bclass:
    b = 5

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

A instrução import importa o Aclass e o Bclass em main.py. O exemplo de código a seguir nos mostra como importar classes de subdiretórios com a instrução import em Python.

from A import Aclass
from B.B import Bclass

var1 = Aclass()
var2 = Bclass()

var1.show()
var2.show()

Resultado:

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

No código acima, importamos Aclass e Bclass no arquivo main.py com a instrução import. Para os arquivos no mesmo diretório, devemos usar a seguinte notação.

from filename import classname

O filename é o nome do arquivo e o classname é o nome da classe a ser importada. Para os arquivos no subdiretório, devemos seguir a seguinte notação.

from dirname.filename import classname

O dirname é o nome do diretório no qual o arquivo está localizado, o filename é o nome do arquivo e o classname é o nome da classe a ser importada. Para os arquivos em subdiretórios ou subdiretórios, temos que adicionar outro .subdirname como mostrado abaixo.

from dirname.subdirname.filename import classname

O dirname é o nome do diretório, subdirname é o nome do subdiretório que contém o arquivo, o filename é o nome do arquivo e o classname é o nome da classe a ser importado.

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

Artigo relacionado - Python Class