Organizar projetos com uma estrutura de pastas consistente é essencial para manter a ordem e facilitar o trabalho em equipe. Automatizar esse processo com um script economiza tempo e evita erros manuais, garantindo que todos os projetos sigam o mesmo padrão desde o início.
O script abaixo cria uma estrutura de pastas padrão para projetos, incluindo diretórios para código, documentação, testes e recursos. Ele é flexível e pode ser adaptado conforme as necessidades do seu projeto.
import os
import sys
def criar_estrutura_pasta(projeto_nome, base_path='.'):
"""
Cria estrutura de pastas padrão para projetos.
Args:
projeto_nome (str): Nome do projeto
base_path (str): Caminho base onde as pastas serão criadas
"""
# Definição da estrutura de pastas
estrutura = {
'src': ['modules', 'utils'],
'docs': ['requirements', 'specs'],
'tests': ['unit', 'integration'],
'resources': ['data', 'configs'],
'scripts': [],
'logs': []
}
# Caminho completo do projeto
projeto_path = os.path.join(base_path, projeto_nome)
try:
# Cria diretório principal do projeto
os.makedirs(projeto_path, exist_ok=True)
print(f"Criando estrutura para o projeto: {projeto_nome}")
# Cria subdiretórios
for pasta, subpastas in estrutura.items():
pasta_path = os.path.join(projeto_path, pasta)
os.makedirs(pasta_path, exist_ok=True)
print(f"Criado: {pasta_path}")
# Cria subpastas dentro de cada pasta principal
for subpasta in subpastas:
subpasta_path = os.path.join(pasta_path, subpasta)
os.makedirs(subpasta_path, exist_ok=True)
print(f"Criado: {subpasta_path}")
print(f"\nEstrutura do projeto '{projeto_nome}' criada com sucesso!")
return True
except Exception as e:
print(f"Erro ao criar estrutura: {e}")
return False
if __name__ == "__main__":
if len(sys.argv) < 2:
print("Uso: python criar_estrutura.py <nome_do_projeto> [<base_path>]")
sys.exit(1)
nome_projeto = sys.argv[1]
caminho_base = sys.argv[2] if len(sys.argv) > 2 else '.'
criar_estrutura_pasta(nome_projeto, caminho_base)
Se você prefere usar shell script, este exemplo cria a mesma estrutura de pastas de forma rápida e eficiente.
#!/bin/bash
# Script para criar estrutura de pastas padrão para projetos
# Uso: ./criar_estrutura.sh <nome_do_projeto> [<base_path>]
NOME_PROJETO=${1:-"meu_projeto"}
BASE_PATH=${2:-"."}
# Estrutura de pastas
PASTAS=(
"src/modules"
"src/utils"
"docs/requirements"
"docs/specs"
"tests/unit"
"tests/integration"
"resources/data"
"resources/configs"
"scripts"
"logs"
)
# Cria diretório principal
mkdir -p "$BASE_PATH/$NOME_PROJETO"
# Cria subdiretórios
for pasta in "${PASTAS[@]}"; do
mkdir -p "$BASE_PATH/$NOME_PROJETO/$pasta"
echo "Criado: $BASE_PATH/$NOME_PROJETO/$pasta"
done
echo -e "\nEstrutura do projeto '$NOME_PROJETO' criada com sucesso!"
| Nome do Projeto | Estrutura Criada |
|---|---|
| meu_projeto |
meu_projeto/src/modules/
|
| app_web |
app_web/src/modules/
|
Com este script, você automatiza a criação de uma estrutura de pastas padronizada em segundos, garantindo consistência entre todos os seus projetos e eliminando a necessidade de criar manualmente cada diretório. Basta executar o script com o nome do projeto desejado e pronto!