Python: Importando todos os arquivos de um diretório.

Python: Importando todos os arquivos de um diretório.

Overview

Bem-vindo a este guia prático que irá transformar a maneira como você lida com bibliotecas no Python! Se você já se perguntou como importar múltiplos helpers e funcionalidades de uma só vez, sem a necessidade de adicionar cada uma individualmente, este post é para você. Com um toque de magia proporcionado pelo arquivo init.py, vamos desvendar juntos como tornar seu diretório um namespace funcional, acompanhado de um exemplo real para você seguir. Preparado? Vamos nessa!

Com o tempo, vamos criando bibliotecas com funcionalidades e helpers que nos auxiliam nas tarefas do dia a dia e nos projetos. Todavia, se criarmos um diretório com todas estas bibliotecas, temos que importar cada arquivo individualmente, certo? Não necessariamente.

*Update 23/08/2017*: Inclui um exemplo deste procedimento no meu github.

Quem conhece PHP sabe que esta é uma tarefa fácil, simples e razoavelmente intuitiva. No Python também, mas existe uma pegadinha que pode dar uma rasteira nos desenvolvedores mais desavisados.

Para importar de uma vez todos os arquivos de um diretório, crie nele um arquivo vazio com o nome __init__.py. Pronto. Agora seu diretório vai funcionar como uma espécie de namespace.

Vamos supor que o diretório que você criou chama-se libs e possui um arquivo chamado log.py. Para importar o arquivo de log, utilize o comando:

import libs.log.py as log

Para importar todos os arquivos, utilize o comando abaixo:

from libs import *

Pronto. Agora todos os seus arquivos foram importados.