Arquivo de renomeação do Python

Arquivo de renomeação do Python
“Python é uma ótima ferramenta para automação e criação de ferramentas simples que permitem simplificar sua vida. Ele fornece ferramentas que permitem interagir com seus recursos de baixo nível do sistema, como disco, kernel do sistema operacional, memória, networking etc.

Um dos cenários que você costuma encontrar como desenvolvedor Python é o gerenciamento de arquivos. É, portanto, ter algumas habilidades que pertencem a gerenciamento de arquivos em seu currículo.

Para este tutorial, daremos a você uma dessas habilidades. Você aprenderá como renomear arquivos únicos ou múltiplos usando Python.”

Com isso fora do caminho, vamos começar.

Arquivo de renomeação do Python - Módulo OS

Um dos módulos mais úteis do ecossistema Python é o módulo do SO. Ele fornece muitas ferramentas e funcionalidade para interagir com o sistema operacional.

O módulo OS é muito extenso e, portanto, não podemos explorá -lo do início ao fim. No entanto, vamos nos concentrar na função que nos permite renomear arquivos no sistema.

A função renome () no módulo OS do Python permite renomear um arquivo existente em seu sistema.

A sintaxe é como mostrado abaixo:

OS.Renomear (arquivo, destino)

Ele segue o caminho do arquivo de destino e o caminho para o novo nome do arquivo como os parâmetros. Como você está renomeando um arquivo, você deve garantir que os parâmetros de arquivo e de destino mantenham valores diferentes.

Nota: Embora o módulo do SO faça parte da biblioteca padrão do Python, você precisará importá -lo antes de usar.

Siga junto com os exemplos fornecidos abaixo para descobrir como podemos renomear um arquivo usando a função renome ().

Exemplo 1 - Renomeie um arquivo

Suponha que tenhamos um arquivo chamado “Backup.alcatrão "e queremos renomeá -lo para" backup_raw.alcatrão.”Por simplicidade, vamos supor que o arquivo que desejamos renomear está localizado no mesmo diretório que nosso script python.

Usando um código python simples (fonte abaixo), podemos renomear o arquivo. A captura de tela abaixo mostra o diretório atual antes de renomear o arquivo.

Podemos então executar o código mostrado abaixo:

De Importar Renomear OS
src = "./cópia de segurança.fecho eclair"
dest = "./backup_raw.fecho eclair"
Renomear (SRC, dest)

Vamos quebrar o código.

Começamos importando a função de renomeação do módulo OS. Não é necessário importar todo o código do módulo do sistema operacional quando não precisamos.

Em seguida, criamos duas variáveis. Um que mantém o caminho para o arquivo que desejamos renomear. O outro mantém o caminho do novo nome do arquivo.

Finalmente, chamamos a função renome () e passamos os parâmetros de origem e destino. Executar o código deve renomear o arquivo de destino, conforme mostrado na captura de tela resultante.

E aí está, renomeamos com sucesso o arquivo do backup.Zip para backup_raw.fecho eclair.

Exemplo 2 - Caminhos de arquivo do Windows

Vamos dar outro exemplo em que o arquivo de destino está localizado em um diretório diferente. Lembre -se de que a estrutura do caminho mudará dependendo do seu sistema operacional alvo.

Por exemplo, digamos que desejamos renomear o arquivo chamado "backups.Zip "que está localizado no diretório" backups "do usuário" Unix "para" backups_raw.fecho eclair.”

Nos sistemas Unix, podemos usar o código abaixo para renomear o arquivo como:

De Importar Renomear OS
src = "/home/unix/backups/backups.fecho eclair"
dest = "/home/unix/backups/backups_raw.fecho eclair"
Renomear (SRC, dest)

Nesse caso, estamos fornecendo o caminho absoluto para o arquivo antigo e renomeado.

Para Windows, System, podemos alterar o caminho para se parecer com o código abaixo:

De Importar Renomear OS
src = "c: \\ users \\ unix \\ backups \\ backups.fecho eclair"
dest = "C: \\ Users \\ Unix \\ backups \\ backups_raw.fecho eclair"
Renomear (SRC, dest)

No exemplo acima, estamos usando um caractere de barragem dupla para escapar do caractere de barragem único usado nos caminhos do arquivo do Windows.

Lembre -se de que Python pode não gostar muito desse caminho. Confira a função junção () do Python no módulo do SO para saber como você pode superar isso.

Exemplo 3 - Manipulação de erros

Embora a função renome () permita renomear qualquer arquivo de qualquer local do seu sistema de arquivos, ela pode resultar em erros se, por exemplo,:

  1. O arquivo de destino não existe.
  2. Um arquivo com um nome semelhante ao destino já existe.
  3. Permissão insuficiente no arquivo de destino e diretório.

É, portanto, uma boa prática implementar um mecanismo de manipulação de erros. Por simplicidade, tentaremos ficar com o Block Try/exceto.

Considere o código de exemplo mostrado abaixo:

De Importar Renomear OS
src = "./Old_File.TXT"
dest = "./novo arquivo.TXT"
tentar:
Renomear (SRC, dest)
Exceto FILENOTFoundError como e:
impressão (e)

No código acima, usamos uma tentativa/exceto bloco para lidar com o erro FilEnotfound.

Outro exemplo é se o arquivo de destino já existe. Um código de exemplo é como mostrado:

De Importar Renomear OS
src = "./Old_File.TXT"
dest = "./novo arquivo.TXT"
tentar:
Renomear (SRC, dest)
Exceto FileExistSerror como e:
impressão (e)

E se não tivermos permissão para modificar o arquivo? Por isso, podemos agradecer ao PermissionError. Verifique o código simples mostrado abaixo:

De Importar Renomear OS
src = "./Old_File.TXT"
dest = "./novo arquivo.TXT"
tentar:
Renomear (SRC, dest)
Exceto PermissionError como e:
impressão (e)

Exemplo 4 - Renomeie vários arquivos

Em alguns casos, podemos ter um diretório com uma lista de arquivos que desejamos renomear para outra coisa.

Como nós faríamos isso?

O primeiro passo seria obter a lista de todos os arquivos no diretório de destino e armazená -los em um iterável.

Felizmente, a função listdir do módulo OS nos permite fazer exatamente isso.

Podemos então iterar sobre cada elemento no objeto iterável usando um loop e atribuí -lo um novo nome.

Da mesma forma, tentaremos seguir um exemplo simples.

Em nosso exemplo, temos uma pasta chamada apache_velocity contendo, você adivinhou, modelos de velocidade do Apache.

A estrutura do diretório é como mostrado:

ls -la apache_velocity
Total 24
drwxr-xr-x@ 5 Salem Staff 160 5 Jun 01:37 .
DRWX ------+ 9 Salem Staff 288 5 Jun 01:41.
-RW-R-R-- 1 pessoal de Salem 81 5 Jun 01:39 Mestre.vm
-RW-R-R-- 1 Salem Staff 81 5 Jun 01:39 Raiz.vm
-RW-R-R-- 1 pessoal de Salem 81 5 Jun 01:39 escravo.vm
Vamos ver como podemos renomear esses arquivos para outra coisa.
De OS importa renomear, listdir
de os.IMPORTO DE PATO Junção
# Definir dir Target Dir
Target_Dir = "/Users/UserName/Desktop/Apache_velocity"
#itere os arquivos
para arquivo em listdir (Target_dir):
src = junção (target_dir, arquivo)
Renomear (src, f "src.bak ")
print ("Renomear recursivo bem -sucedido")
print (listdir (Target_dir))

O código acima é relativamente simples e pode ser bastante aprimorado. Mas para evitar supercomplicações, vamos continuar com isso.

Começamos importando a função que exigimos.

  1. renomear (), que nos permite renomear arquivos
  2. listdir (), que nos permite listar os arquivos em um determinado diretório.

Também importamos a função junção () do sistema operacional.Módulo de caminho. Esta função nos permite construir caminhos de arquivo compatíveis com plataforma completa e cruzada.

Em seguida, criamos uma variável que mantém o caminho para o diretório de destino. eu.e., o diretório cujos arquivos desejamos renomear.

Em seguida, criamos um loop que itera sobre cada arquivo no diretório de destino usando o listdir. Dentro do loop, temos o caminho de origem usando a função de junção.

E finalmente, renomeamos os arquivos adicionando um .Extensão Bak para cada arquivo.

Se executarmos o código acima, devemos ver uma saída como mostrado

Podemos ver que os arquivos foram renomeados para Old_filename.Bak.

Conclusão

Neste tutorial, exploramos como podemos renomear arquivos usando Python. Entendemos como trabalhar com a função de renomeação, permitindo renomear um ou vários arquivos.

Obrigado pela leitura e codificação feliz!!