Usuário anônimo
Mais
Como se acrescenta a um ficheiro em Python?
Como se anexa ao ficheiro em vez de o escrever por cima? Existe alguma função especial que apareça ao ficheiro?
1439
3
Você precisa abrir o arquivo no modo anexo, definindo "a" ou "ab" como o modo. Veja open().
Quando você abre com o modo "a", a posição de escrita ** sempre estará no final do arquivo (um apêndice). Você pode abrir com "a+" para permitir a leitura, procurar para trás e ler (mas todas as escritas ainda estarão no final do arquivo!).
Exemplo:
**Nota***: Usar 'a' não é o mesmo que abrir com 'w' e procurar até o fim do arquivo - considere o que poderia acontecer se outro programa abrisse o arquivo e começasse a escrever entre a procura e a escrita. Em alguns sistemas operacionais, abrir o arquivo com 'a' garante que todas as suas escritas seguintes serão anexadas atomicamente ao final do arquivo (mesmo que o arquivo cresça com outras escritas).
Mais alguns detalhes sobre como o modo "a" funciona (testado apenas no Linux). Mesmo se você procurar de volta, cada escrita será anexada ao final do arquivo:
Na verdade, o
fopen
manpage afirma:Antiga resposta simplificada (não utilizando
with
):Exemplo: (em um programa real utilizar
with
para fechar o arquivo - ver a documentação)Você provavelmente quer passar 'a' como o argumento de modo. Veja os documentos para open().
Há outras permutações do argumento do modo para atualizar (+), truncating (w) e modo binário (b), mas começar com apenas
"a"
é a sua melhor aposta.