0

10 Scripts Python para o Dia a Dia

Criei um script Python que organiza minha pasta Downloads automaticamente

Minha pasta Downloads tinha mais de 1.400 arquivos.

PDFs misturados com prints, ZIPs enterrados no meio de arquivos .tmp, vídeos que baixei uma vez e esqueci. Toda vez que precisava de algo, gastava cinco minutos rolando até achar.

Resolvi escrever um script Python para resolver isso. Levou uns 20 minutos, não tem dependências externas e funciona em qualquer sistema operacional.

O que o script faz

Ele varre a pasta que você escolher, identifica a extensão de cada arquivo e move tudo para subpastas organizadas por tipo:

Downloads/
├── Imagens/      → .jpg, .png, .gif, .webp...
├── Documentos/   → .pdf, .docx, .txt, .xlsx...
├── Videos/       → .mp4, .mov, .mkv...
├── Audio/        → .mp3, .wav, .flac...
├── Compactados/  → .zip, .rar, .tar, .gz...
├── Codigo/       → .py, .js, .html, .json...
└── Outros/       → todo o resto

O código completo

Sem bibliotecas externas — só a biblioteca padrão do Python 3.

import os
import shutil

# Altere para o caminho da pasta que deseja organizar
PASTA = os.path.expanduser("~/Downloads")

CATEGORIAS = {
    "Imagens":     [".jpg", ".jpeg", ".png", ".gif", ".bmp", ".svg", ".webp"],
    "Videos":      [".mp4", ".mov", ".avi", ".mkv", ".wmv"],
    "Audio":       [".mp3", ".wav", ".flac", ".aac", ".ogg"],
    "Documentos":  [".pdf", ".docx", ".doc", ".txt", ".xlsx", ".pptx", ".csv"],
    "Compactados": [".zip", ".rar", ".tar", ".gz", ".7z"],
    "Codigo":      [".py", ".js", ".html", ".css", ".json", ".xml"],
    "Outros":      [],
}

def get_categoria(extensao):
    for categoria, extensoes in CATEGORIAS.items():
        if extensao.lower() in extensoes:
            return categoria
    return "Outros"

def organizar_pasta(caminho):
    movidos = 0
    for nome_arquivo in os.listdir(caminho):
        caminho_arquivo = os.path.join(caminho, nome_arquivo)

        if os.path.isdir(caminho_arquivo):
            continue

        _, ext = os.path.splitext(nome_arquivo)
        categoria = get_categoria(ext)

        pasta_destino = os.path.join(caminho, categoria)
        os.makedirs(pasta_destino, exist_ok=True)

        shutil.move(caminho_arquivo, os.path.join(pasta_destino, nome_arquivo))
        print(f"Movido: {nome_arquivo}{categoria}/")
        movidos += 1

    print(f"\nPronto! {movidos} arquivo(s) organizado(s).")

organizar_pasta(PASTA)

Como rodar

# Salve como organizador.py e execute:
python organizador.py

Algumas variações úteis

Rodar em múltiplas pastas de uma vez:

pastas = [
    os.path.expanduser("~/Downloads"),
    os.path.expanduser("~/Desktop"),
]
for pasta in pastas:
    organizar_pasta(pasta)

Agendar para rodar todo dia (Linux/Mac):

# Adicione ao crontab (crontab -e):
0 9 * * * python /caminho/para/organizador.py

Windows — agendar via Task Scheduler:

Crie uma tarefa básica apontando para python.exe com o script como argumento.

Por que esse padrão funciona bem

O script segue um padrão simples que se repete em várias situações de automação:

  1. Listaros.listdir() para ler o conteúdo da pasta
  2. Classificar — verificar a extensão e decidir o destino
  3. Agirshutil.move() para mover o arquivo

Uma vez que você entende esse padrão, começa a ver oportunidades de automação em tudo — renomear arquivos em lote, limpar planilhas, enviar e-mails automáticos. O esqueleto é sempre o mesmo.


Se quiser outros scripts prontos no mesmo estilo (renomeador em massa, gerador de senhas seguras, unificador de PDFs, raspador de sites, limpador de planilhas), juntei mais 9 num e-book curto disponível na Hotmart e na Eduzz.

Todo o código é comentado e vem com instruções de uso — mesma estrutura deste post.

Carregando publicação patrocinada...
1