Script em Python para Renomear Vários Arquivos Automaticamente

Quando você trabalha com muitos arquivos — fotosdocumentosmúsicas ou backups — pode se tornar extremamente tedioso renomeá-los manualmente. Felizmente, com Python é possível criar scripts automáticos que renomeiam múltiplos arquivos de forma rápida e organizada.

Neste artigo, você vai aprender:


🔹 1. Preparando o ambiente

Não é necessário instalar nada além do Python padrão, pois usaremos:

  • os → para manipular arquivos e pastas.

  • glob → para localizar arquivos com padrões específicos.

import os
import glob

🔹 2. Listando arquivos de uma pasta

Primeiro, vamos listar todos os arquivos de uma pasta específica:

pasta = r"C:\MeusArquivos"  # substitua pelo caminho da sua pasta
arquivos = os.listdir(pasta)

print("Arquivos encontrados:")
for arquivo in arquivos:
    print(arquivo)

✅ Isso mostrará todos os arquivos, mas não é filtrado por extensão.

Se quiser apenas arquivos .jpg, por exemplo:

arquivos_jpg = glob.glob(os.path.join(pasta, "*.jpg"))
print(arquivos_jpg)

🔹 3. Renomeando arquivos com prefixo

Podemos adicionar um prefixo a todos os arquivos:

prefixo = "Foto_"

for arquivo in arquivos_jpg:
    nome_antigo = os.path.basename(arquivo)
    novo_nome = prefixo + nome_antigo
    os.rename(arquivo, os.path.join(pasta, novo_nome))

print("Arquivos renomeados com sucesso!")

🔹 4. Renomeando arquivos com numeração sequencial

Para organizar arquivos numericamente:

for i, arquivo in enumerate(arquivos_jpg, start=1):
    extensao = os.path.splitext(arquivo)[1]  # pega a extensão (.jpg, .png)
    novo_nome = f"Imagem_{i:03d}{extensao}"  # Ex: Imagem_001.jpg
    os.rename(arquivo, os.path.join(pasta, novo_nome))

print("Arquivos renomeados sequencialmente!")

✅ :03d garante três dígitos, adicionando zeros à esquerda.


🔹 5. Renomeando arquivos com datas

Podemos usar a data de modificação do arquivo:

for arquivo in arquivos_jpg:
    timestamp = os.path.getmtime(arquivo)
    data_mod = pd.to_datetime(timestamp, unit='s').strftime("%Y%m%d")
    extensao = os.path.splitext(arquivo)[1]
    novo_nome = f"{data_mod}{extensao}"
    os.rename(arquivo, os.path.join(pasta, novo_nome))

Isso renomeia os arquivos para algo como: 20251002.jpg.


🔹 6. Script completo e seguro

Uma boa prática é não sobrescrever arquivos existentes e fazer backup do nome antigo:

import os
import glob

pasta = r"C:\MeusArquivos"
arquivos = glob.glob(os.path.join(pasta, "*.jpg"))

for i, arquivo in enumerate(arquivos, start=1):
    extensao = os.path.splitext(arquivo)[1]
    novo_nome = f"Imagem_{i:03d}{extensao}"
    novo_caminho = os.path.join(pasta, novo_nome)
    
    if not os.path.exists(novo_caminho):
        os.rename(arquivo, novo_caminho)
    else:
        print(f"Arquivo {novo_nome} já existe! Ignorando...")

print("Renomeação concluída com segurança!")

🔹 7. Dicas adicionais

  • Use glob para filtrar por tipos de arquivo diferentes (*.png*.txt*.mp3).

  • Combine prefixo + data + número sequencial para organizar ainda melhor.

  • Sempre teste em uma cópia da pasta antes de rodar o script em arquivos importantes.

  • Para projetos maiores, você pode criar uma interface com Tkinter para escolher pastas e padrões.


🔹 8. Conclusão

Com esse script em Python, você consegue:
✅ Economizar tempo renomeando centenas ou milhares de arquivos.
✅ Evitar erros e duplicações.
✅ Criar padrões organizados (sequência, data, prefixos).

💡 Esse é um ótimo exemplo de automação do dia a dia, mostrando como Python pode tornar tarefas repetitivas mais rápidas e seguras.

Comentários

Postagens mais visitadas deste blog

Gerando Relatórios em PDF com Python (ReportLab e FPDF)

Manipulação de Arquivos no C#: Como Ler, Escrever e Trabalhar com Arquivos de Forma Simples

Laços de Repetição em Python: Conceitos e Exemplos Práticos