Python Renomeie arquivo e diretório usando os.rename()

⚡ Resumo Inteligente

Python Renomeia arquivos e diretórios com os.rename(). Aqui você aprenderá sobre os.rename(), os.renames(), shutil.move() e pathlib Path.rename(), além de como renomear um diretório e renomear vários arquivos em lote com exemplos claros.

  • ✏️ os.renomear(): os.rename(src, dst) renomeia um arquivo ou diretório; a origem deve existir.
  • 🗂️ os.renames(): os.renames() também cria automaticamente pastas de destino que estejam faltando.
  • 🚚 shutil.move(): shutil.move() renomeia e pode mover arquivos entre sistemas de arquivos.
  • 🐍 pathlib: Path.rename() renomeia arquivos de maneira orientada a objetos (Python 3.4+).
  • 🤖 Ajuda da IA: Ferramentas de IA como o Copilot geram código para renomear e renomear em lote instantaneamente.

Python Renomear arquivo os.rename()

Python Renomeie o arquivo

Python renomear() arquivo é um método usado para renomear um arquivo ou diretório em Python programação. O Python O método de arquivo rename() pode ser declarado passando dois argumentos chamados src (Fonte) e dst (Destino).

Sintaxe

Esta é a sintaxe do método os.rename()

os.rename(src, dst)

Parâmetros Técnicos

origem: Fonte é o nome do arquivo ou diretório. Já deveria existir.

DST: Destino é o novo nome do arquivo ou diretório que você deseja alterar.

Exemplo:

import os  
os.rename('guru99.txt','career.guru99.txt')

Vejamos o exemplo em detalhes

Você pode renomear o arquivo original; nós alteramos o nome do arquivo de “Guru99.txt” para “Career.guru99.txt”.

Python Renomeie o arquivo

  • Para renomear o arquivo “guru99.txt”, usaremos a “função renomear” no módulo do sistema operacional
  • Assim, quando o código é executado, você pode observar que um novo arquivo “career.guru99.txt” é criado no lado direito do painel, que renomeamos para nosso arquivo original.

Aqui está o código completo

import os
import shutil
from os import path

def main():
	# make a duplicate of an existing file
    if path.exists("guru99.txt"):
	# get the path to the file in the current directory
        src = path.realpath("guru99.txt");
		
	# rename the original file
        os.rename('guru99.txt','career.guru99.txt') 
		
if __name__ == "__main__":
    main()

Como renomear um diretório em Python

O método os.rename() também renomeia diretórios, não apenas arquivos. Passe o nome da pasta atual como origem e o novo nome como destino.

import os
os.rename("old_directory", "new_directory")

Se o diretório de origem não existir, Python Isso gera um erro FileNotFoundError, portanto, é uma boa prática verificar o caminho primeiro.

Renomear um arquivo usando os.renames()

O método os.renames() renomeia um arquivo e cria automaticamente quaisquer diretórios intermediários ausentes no caminho de destino. Ele também remove diretórios vazios deixados para trás no caminho de origem.

import os
os.renames("guru99.txt", "archive/2024/career.txt")

Aqui, as pastas "archive" e "2024" são criadas automaticamente caso ainda não existam.

Renomear um arquivo usando shutil.move()

A função shutil.move() move um arquivo para um novo local, o que efetivamente o renomeia quando o destino é o mesmo diretório.

import shutil
shutil.move("guru99.txt", "career.guru99.txt")

Ao contrário de os.rename(), shutil.move() também pode mover um arquivo entre diferentes sistemas de arquivos ou unidades.

Renomear um arquivo usando o módulo pathlib

In Python A partir da versão 3.4, o módulo pathlib oferece um método Path.rename() orientado a objetos para renomear arquivos.

from pathlib import Path

file = Path("guru99.txt")
file.rename("career.guru99.txt")

O método rename() retorna um novo objeto Path que aponta para o arquivo renomeado.

Como renomear vários arquivos em Python

Para renomear vários arquivos de uma só vez, percorra os arquivos em um diretório com os.listdir() e chame os.rename() para cada um. O exemplo abaixo adiciona um prefixo numérico a cada arquivo.

import os

folder = "myfiles"
for count, filename in enumerate(os.listdir(folder)):
    new_name = f"file_{count}.txt"
    os.rename(os.path.join(folder, filename), os.path.join(folder, new_name))

O uso de os.path.join() garante que o código funcione corretamente em qualquer sistema operacional.

Perguntas Frequentes

Importe o módulo `os` e chame `os.rename(src, dst)`, passando o nome do arquivo atual e o novo nome. O arquivo de origem já deve existir, ou Python Gera um erro FileNotFoundError.

os.rename() renomeia um único arquivo ou diretório, enquanto os.renames() também cria quaisquer diretórios intermediários ausentes e remove pastas de origem vazias após a movimentação.

Sim. shutil.move(src, dst) renomeia um arquivo quando o destino é a mesma pasta e também pode mover arquivos entre sistemas de arquivos diferentes, ao contrário de os.rename().

Use os.rename('diretório_antigo', 'diretório_novo'). A mesma função os.rename() funciona tanto para arquivos quanto para diretórios, desde que o diretório de origem exista.

Percorra os.listdir(pasta) e chame os.rename() para cada arquivo. Use os.path.join() para construir caminhos completos para que o código funcione em qualquer sistema operacional.

Assistentes de IA como o GitHub Copilot completam automaticamente chamadas os.rename() e pathlib, e geram loops de renomeação em lote a partir de um comentário que descreve o padrão de nomenclatura desejado.

Sim. Ferramentas com inteligência artificial podem automatizar a criação de scripts para renomear em lote, aplicar padrões como numeração ou prefixos de data e adicionar tratamento de erros para nomes ausentes ou duplicados.

On WindowsA função `os.rename()` gera um erro `FileExistsError` se o destino já existir. Em sistemas Unix, ela sobrescreve os arquivos silenciosamente. Verifique primeiro com `os.path.exists()` para evitar a perda de dados.

Resuma esta postagem com: