Substitua um arquivo em python

Substitua um arquivo em python

Existem certos casos em que o programador não deseja anexar dados a um arquivo já existente ou até criar várias duplicatas do mesmo arquivo. Em tais cenários, a melhor abordagem é substituir o arquivo existente com novo conteúdo. Substituição é simplesmente o processo de excluir o arquivo anterior \ conteúdo e ter um novo arquivo \ conteúdo colocado nesse local.

Este guia explicará o método para substituir um arquivo usando Python.

Substituindo um arquivo com o método Open () e "W"

O método Open () é usado para abrir um arquivo na linguagem de programação Python, seguindo o caminho do arquivo e o modo de abertura e se o modo de abertura estiver definido como “c”Então criaria um novo arquivo. Isso significa que toda vez que o código é executado, o programa criará um novo arquivo com o mesmo nome, que acabará causando ao sistema operacional substituir/substituir o arquivo.

Exemplo:

Para demonstrar o funcionamento da substituição do método Open (), o seguinte arquivo está presente no diretório do programa Python:

No programa Python, abra o arquivo com o método open () e defina o modo como “c”:

arquivo = aberto ("demonstração.txt "," w ")

Depois disso, defina o novo conteúdo do arquivo em uma variável de string:

newContent = "Este é um novo conteúdo!"

Escreva o "novos conteúdos”Para o arquivo usando o método write ():

arquivo.Write (NewContent)

O trecho de código completo é:

arquivo = aberto ("demonstração.txt "," w ")
newContent = "Este é um novo conteúdo!"
arquivo.Write (NewContent)

Depois de executar este código, o conteúdo do arquivo se torna:

A saída confirma que os dados do arquivo foram substituídos.

Nota: Escrever dados para o arquivo não é obrigatório, quando o arquivo é aberto com o método open () e a bandeira "W", o arquivo é substituído instantaneamente.

Substituindo um arquivo usando o método truncate ()

O conteúdo do arquivo pode ser substituído usando o método truncate (), bem como o método open () em “r+" ou leitura+ modo. Este método não cria um novo arquivo toda vez que o programa é executado, mas limpa o conteúdo anterior.

A maneira como o método truncate () funciona é que, quando é chamado, remove o conteúdo do arquivo da localização atual do ponteiro até o final do arquivo. Para demonstrar isso, temos o seguinte conteúdo no arquivo txt “demonstração”:

No código Python, comece abrindo o arquivo no modo "R+" ou Reading+:

arquivo = aberto ("demonstração.txt "," r+")

Depois disso, defina a localização do ponteiro para o início do arquivo:

arquivo.procure (0)

Crie o novo conteúdo a ser adicionado e escreva isso ao arquivo:

newContent = "o método truncate ()"
arquivo.Write (NewContent)

Se o programa for executado neste momento, o resultado será como:

O novo conteúdo ocorreu no início do arquivo, mas para remover todo o conteúdo restante do arquivo, ligue para o método truncate () no arquivo. O código completo é:

arquivo = aberto ("demonstração.txt "," r+")
arquivo.procure (0)
newContent = "o método truncate ()"
arquivo.Write (NewContent)
arquivo.truncar()

Quando este código for executado, o seguinte será o conteúdo do arquivo:

Da saída, fica claro que o conteúdo do substituído.

Substituir conteúdo específico usando RE.Método sub ()

Se o usuário quiser não substituir todo o conteúdo do arquivo, substitua apenas parte do conteúdo, isso pode ser feito pelo “sub()”Método do“" pacote. Para demonstrar isso, o seguinte é o conteúdo do “demonstração" arquivo de texto:

No código Python, use as seguintes linhas para importar os pacotes necessários:

importar re
do caminho de importação de pathlib

Depois disso, use o método Path () para definir a localização do arquivo:

File_Location = Path ("Demo.TXT")

Leia o conteúdo do arquivo e coloque -os dentro da nova variável:

file_content = file_location.read_text ()

Depois disso, use a seguinte linha:

localização de arquivo.write_text (re.sub ("codificadores", "mundo", file_content))

Para explicar esta linha:

  • O método rsub () está procurando a palavra "codificadores" e substituindo -o por "mundo" dentro da variável "file_content"
  • Depois disso, usando o método write_text () para escrever o novo conteúdo no local do arquivo

Snippet de código completo:

importar re
do caminho de importação de pathlib
File_Location = Path ("Demo.TXT")
file_content = file_location.read_text ()
localização de arquivo.write_text (re.sub ("codificadores", "mundo", file_content))

A execução deste código armazenará o seguinte resultado no arquivo de texto "Demo":

Esta saída confirma que os "codificadores" foram substituídos com a palavra "mundo" no arquivo.

Conclusão

O método interno aberto () com o modo "W" pode ser usado para criar um novo arquivo toda vez que o programa é executado, fazendo com que o programa "substitua" o arquivo. Além do método open (), o usuário pode usar o método truncate () para substituir o conteúdo do arquivo. No entanto, o método truncate () exige que o usuário abra o arquivo com o método aberto () primeiro. Se o objetivo é substituir determinado conteúdo do arquivo, use o método sub () do pacote "RE".