Substituir um arquivo em Python

Syed Moiz Haider 30 janeiro 2023
  1. Sobrescrever um arquivo em Python usando a função open()
  2. Sobrescrever um arquivo em Python usando o método file.truncate()
Substituir um arquivo em Python

Este tutorial demonstrará vários métodos para substituir um arquivo em Python. Veremos métodos para escrever um novo texto excluindo o texto já salvo e como podemos primeiro ler os dados do arquivo, aplicar algumas ações e alterações nele e, em seguida, sobrescrevê-lo nos dados antigos.

Sobrescrever um arquivo em Python usando a função open()

A função open(file, mode) leva file (um objeto semelhante a um caminho) como entrada e retorna um objeto de arquivo como saída. A entrada file pode ser um objeto string ou bytes e contém o caminho do arquivo. O mode é o modo em que queremos abrir o arquivo; pode ser r para o modo de leitura, w para a escrita ou a para o modo anexo, etc.

Para sobrescrever um arquivo e gravar alguns novos dados no arquivo, podemos abrir o arquivo no modo w, o que excluirá os dados antigos do arquivo.

Código de exemplo:

with open("myFolder/myfile.txt", "w") as myfile:
    myfile.write(newData)

Se quisermos primeiro ler os dados salvos no arquivo e depois sobrescrever o arquivo, podemos primeiro abrir o arquivo no modo de leitura, ler os dados e então sobrescrever o arquivo.

Código de exemplo:

with open("myFolder/myfile.txt", "r") as myfile:
    data = myfilef.read()

with open("myFolder/myfile.txt", "w") as myfile:
    myfile.write(newData)

Sobrescrever um arquivo em Python usando o método file.truncate()

Visto que queremos ler os dados do arquivo primeiro e depois sobrescrevê-los, podemos fazer isso usando o método file.truncate().

Primeiro, abra o arquivo no modo de leitura usando o método open(), leia os dados do arquivo e procure o início do arquivo usando o método file.seek(), escreva os novos dados e trunque os dados antigos usando o método file.truncate().

O código de exemplo a seguir demonstra como substituir o arquivo usando os métodos file.seek() e file.truncate().

with open("myFolder/myfile.txt", "r+") as myfile:
    data = myfile.read()
    myfile.seek(0)
    myfile.write("newData")
    myfile.truncate()
Syed Moiz Haider avatar Syed Moiz Haider avatar

Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.

LinkedIn

Artigo relacionado - Python File