Escrever dados em ficheiros

Concluído

Tip

Consulte a guia Texto e imagens para obter mais detalhes!

Escrever num ficheiro permite que o seu programa guarde resultados, mantenha registos ou persista dados entre execuções. Python oferece dois modos principais para colocar dados num ficheiro: escrever e acrescentar.

Escrever num ficheiro com "w"

Abrir um ficheiro em modo de escrita ("w") cria um novo ficheiro — ou sobrescreve completamente qualquer ficheiro existente com o mesmo nome. Use o .write() método para adicionar texto:

with open("greeting.txt", "w") as file:
    file.write("Hello, world!\n")
    file.write("Welcome to Python.\n")

Warning

O modo de escrita apaga o ficheiro no momento em que é aberto. Só usa "w" quando tiveres a certeza de que queres substituir o conteúdo do ficheiro.

Repare em \n no final de cada cadeia. Ao contrário de print(), .write() não adiciona uma nova linha para ti.

Anexar a um ficheiro com "a"

Abrir um ficheiro em modo de acrescento ("a") adiciona conteúdo ao final do ficheiro, mantendo tudo o que já lá se encontra. Se o ficheiro ainda não existir, o Python cria-o.

with open("log.txt", "a") as file:
    file.write("New entry added.\n")

O modo Append é uma boa opção para ficheiros de log, notas e qualquer dado que queiras acumular ao longo do tempo.

Escrever várias linhas

Para escrever uma lista de cadeias de uma só vez, use .writelines(). Lembra-te apenas que não adiciona novas linhas — tens de as incluir tu mesmo:

tasks = ["Buy groceries\n", "Walk the dog\n", "Finish homework\n"]

with open("tasks.txt", "w") as file:
    file.writelines(tasks)

Escolher entre escrever e acrescentar

Usa "w" quando... Usa "a" quando...
Queres começar de novo cada vez Queres manter o conteúdo existente
Está a guardar o resultado final de um processo Estás a registar novos eventos ou entradas
A sobrescência é intencional A preservação da história é importante