Importar módulos do diretório pai em Python

Muhammad Waiz Khan 30 janeiro 2023
  1. Importar um módulo do diretório pai em Python usando a importação relativa
  2. Importe um módulo do diretório pai em Python adicionando-o a PYTHONPATH
  3. Importar um módulo do diretório pai em Python usando o método sys.path.insert()
Importar módulos do diretório pai em Python

Este tutorial explicará vários métodos para importar um módulo do diretório pai em Python. Importamos diferentes módulos para usar outras funcionalidades em nosso código. Isso nos poupa de copiar ou implementar as funcionalidades novamente e torna o código limpo e mais fácil de entender.

Suponha que queremos importar um módulo do diretório pai do diretório do projeto atual. Podemos fazer isso usando diferentes métodos, que são explicados a seguir.

Importar um módulo do diretório pai em Python usando a importação relativa

A importação relativa é usada para importar um módulo no código usando o caminho do diretório atual como referência. Para importar um módulo usando a instrução import, primeiro teremos que declarar o diretório como um pacote adicionando o arquivo __init__.py no diretório pai. Uma vez que o diretório pai é declarado um pacote, podemos importar o módulo usando a abordagem de pacote relativa.

Suponha que temos a seguinte árvore de diretórios.

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

O código de exemplo a seguir demonstra como importar o módulo do pacote pai.

from ..parent_directory import mymodule

Para importar o módulo do diretório dois níveis acima do diretório atual, teremos que colocar três pontos antes do nome do diretório do pacote para retroceder dois níveis, conforme mostrado no código de exemplo abaixo.

from ...parent_parent_directory import mymodule

Importe um módulo do diretório pai em Python adicionando-o a PYTHONPATH

O PYTHONPATH é uma variável de ambiente que especifica a lista de diretórios que o Python deve procurar para importar módulos e pacotes.

Portanto, se adicionarmos o diretório pai de onde precisamos importar o módulo, o Python irá automaticamente olhar para o diretório pai e encontrar o módulo necessário.

Importar um módulo do diretório pai em Python usando o método sys.path.insert()

Também podemos usar o método sys.path.insert() para adicionar o diretório pai à lista sys.path, que é a lista de strings que especifica os caminhos para procurar os pacotes e módulos. O sys.path contém a lista de diretórios da variável de ambiente PYTHONPATH e outros caminhos também podem ser adicionados usando o método sys.path.insert().

O código de exemplo a seguir demonstra como usar o método sys.path.insert() para adicionar o diretório pai à lista sys.path em Python.

import mymodule
import os
import sys

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

Artigo relacionado - Python Import