Aprenda Python: Automação para Organização de Arquivos

POR CÓDIGO DA HORA • 25 ABRIL 2025

Por que Automatizar a Organização?

No dia a dia de quem trabalha com tecnologia, é comum acumularmos centenas de arquivos na pasta de 'Downloads' ou 'Documentos'. Fazer essa triagem manualmente consome tempo e energia. Com Python, podemos criar um robô que identifica a extensão do arquivo (PDF, JPG, ZIP, EXE) e o move para a pasta correta instantaneamente.

O que você vai aprender?

  • Manipulação de caminhos e diretórios no sistema.
  • Identificação de extensões de arquivos.
  • Movimentação de dados entre pastas de forma segura.

💼 Aplicação no Mercado

A automação de sistemas (RPA) é uma das áreas que mais cresce. Dominar a biblioteca os e shutil permite que você crie ferramentas internas para empresas que lidam com grandes volumes de relatórios, imagens ou logs de servidores.

🛠️ O Código do Organizador Inteligente

O script abaixo verifica uma pasta específica, analisa os arquivos presentes e os move para subpastas categorizadas por tipo (Documentos, Imagens, Executáveis, etc).


import os
import shutil

# Defina o caminho da pasta que deseja organizar
caminho = r"C:/Users/SeuUsuario/Downloads"

# Dicionário mapeando as extensões para suas respectivas pastas
categorias = {
    "Documentos": [".pdf", ".docx", ".txt", ".xlsx"],
    "Imagens": [".jpg", ".jpeg", ".png", ".gif"],
    "Executaveis": [".exe", ".msi"],
    "Compactados": [".zip", ".rar", ".7z"]
}

def organizar_pasta(diretorio):
    for arquivo in os.listdir(diretorio):
        nome, extensao = os.path.splitext(arquivo)
        extensao = extensao.lower()
        
        for pasta, extensoes_permitidas in categorias.items():
            if extensao in extensoes_permitidas:
                caminho_destino = os.path.join(diretorio, pasta)
                
                # Cria a pasta se ela não existir
                if not os.path.exists(caminho_destino):
                    os.makedirs(caminho_destino)
                
                # Move o arquivo
                shutil.move(os.path.join(diretorio, arquivo), os.path.join(caminho_destino, arquivo))
                print(f"Movido: {arquivo} -> {pasta}")

print("--- Iniciando Organização ---")
organizar_pasta(caminho)
print("--- Concluído com Sucesso ---")

Conclusão

Este projeto é uma porta de entrada para a automação de sistemas. Você pode expandi-lo para rodar em horários agendados ou até mesmo para renomear arquivos em massa, transformando uma tarefa chata em um processo totalmente invisível e eficiente.