Importar clase de subdirectorios en Python
En este tutorial, discutiremos métodos para importar clases desde subdirectorios en Python.
Importar clases de subdirectorios con declaración import
en Python3
En Python 3.x, importar clases desde el directorio actual o cualquier subdirectorio es muy fácil. Usaremos la siguiente estructura de directorios en este tutorial.
Main/
main.py
A.py
B/
B.py
Los archivos A.py
y B.py
contienen dos clases, Aclass
y Bclass
, que importaremos a la clase main.py
. El código de A.py
y B.py
se muestra a continuación.
Archivo A.py
:
class Aclass:
a = 5
def show(this):
print("Hello! this is class A")
Archivo B.py
:
class Bclass:
b = 5
def show(this):
print("Hello! this is class B")
La instrucción import
importa la Aclass
y la Bclass
en main.py
. El siguiente ejemplo de código nos muestra cómo importar clases desde subdirectorios con la declaración import
en Python.
from A import Aclass
from B.B import Bclass
var1 = Aclass()
var2 = Bclass()
var1.show()
var2.show()
Producción :
Hello! this is class A
Hello! this is class B
En el código anterior, importamos tanto Aclass
como Bclass
en el archivo main.py
con la declaración import
. Para los archivos en el mismo directorio, tenemos que usar la siguiente notación.
from filename import classname
El filename
es el nombre del archivo y el classname
es el nombre de la clase que se va a importar. Para los archivos en el subdirectorio, tenemos que seguir la siguiente notación.
from dirname.filename import classname
El dirname
es el nombre del directorio en el que se encuentra el archivo, el filename
es el nombre del archivo y el classname
es el nombre de la clase que se va a importar. Para los archivos en subdirectorios o subdirectorios, tenemos que agregar otro .subdirname
como se muestra a continuación.
from dirname.subdirname.filename import classname
El dirname
es el nombre del directorio, el subdirname
es el nombre del subdirectorio que contiene el archivo, el filename
es el nombre del archivo y el classname
es el nombre de la clase a ser importado.
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