Como Adicionar Conteúdo a um Arquivo Sem Sobrescrevê-lo

Ana Maria Gomes
5 minutos de leitura

Conteúdos do tutorial

Ao trabalhar com arquivos em Python, uma tarefa comum é adicionar conteúdo a um arquivo existente sem remover o que já está lá. Esse processo é conhecido como anexar ou acrescentar. Se você está se perguntando como adicionar conteúdo a um arquivo em vez de sobrescrevê-lo, você está no lugar certo.

Entendendo os Modos de Arquivo em Python

Para adicionar conteúdo a um arquivo, você precisa abri-lo no modo de acréscimo. Isso é feito definindo o modo para “a” ao usar a função open(). Aqui está um exemplo simples:

with open("exemplo.txt", "a") as meu_arquivo:
    meu_arquivo.write("texto anexado")

Neste trecho, exemplo.txt é o arquivo ao qual estamos adicionando conteúdo, e "a" é o modo que usamos para abrir o arquivo. A instrução with garante que o arquivo seja fechado corretamente após terminarmos de escrever nele.

O Poder do Modo de Acréscimo

Quando você abre um arquivo no modo de acréscimo usando “a” ou “ab” como o modo, o Python garante que cada operação de escrita seja adicionada ao final do arquivo. Isso é diferente do modo de escrita (“w”), que apagaria o conteúdo do arquivo antes de escrever.

Aqui está um exemplo prático:

with open('anotacoes.txt', 'a') as arquivo:
    arquivo.write("Nova anotação adicionada.")

Após executar esse código, “Nova anotação adicionada.” estará no final de anotacoes.txt, seguindo qualquer conteúdo existente.

Lendo e Acrescentando com “a+”

Se você precisa ler o arquivo além de acrescentar a ele, você pode abri-lo com o modo “a+”. Isso permite que você busque e leia qualquer parte do arquivo, mas lembre-se, todas as escritas ainda irão para o final do arquivo.

Considere este exemplo:

with open('registro.txt', 'a+') as arquivo:
    arquivo.seek(0)
    conteudo = arquivo.read()
    arquivo.write("\nNova entrada de registro.")

Mesmo que você mova o cursor para o início do arquivo para ler seu conteúdo, a nova entrada de registro será acrescentada no final.

Acréscimos Atômicos e Compatibilidade com o Sistema

Em alguns sistemas operacionais, usar o modo de acréscimo garante que todas as escritas sejam adicionadas ao final do arquivo de forma atômica. Isso significa que mesmo que o arquivo esteja sendo modificado por outro programa ao mesmo tempo, seu conteúdo será acrescentado com segurança sem conflito.

Um Acréscimo Simples Sem with

Embora seja a melhor prática usar with ao trabalhar com arquivos, você também pode abrir e fechar arquivos manualmente:

f = open('atualizacoes.txt', 'a')
f.write("Atualização adicional.")
f.close()

Este método é direto, mas lembre-se de sempre fechar o arquivo para evitar quaisquer problemas potenciais.

Resumo

Acrescentar conteúdo a um arquivo em Python é um processo simples que envolve abrir o arquivo no modo de acréscimo usando “a” ou “a+” se você também precisar ler dele. Isso garante que o novo conteúdo seja adicionado ao final do arquivo sem apagar os dados existentes. Sempre use a instrução with para um melhor manuseio de arquivos, e lembre-se de que as operações de acréscimo são atômicas em alguns sistemas, proporcionando uma camada extra de segurança quando múltiplos processos podem estar acessando o arquivo simultaneamente.####

Inscreva-se gratuitamente e fique atualizado

Receba toda semana um resumo dos principais conteúdos da Asimov direto no seu e-mail. 100% livre de spam.

Áreas de interesse: