olá, é possível alterar o conteúdo de uma única linha, de um arquivo de texto? já tentei de tudo, todos os modos de leitura e gravação e não chego ao resultado que espero...
olá, é possível alterar o conteúdo de uma única linha, de um arquivo de texto? já tentei de tudo, todos os modos de leitura e gravação e não chego ao resultado que espero...
Oi Anne,
O que pode se fazer é sobrescrever o conteúdo de um arquivo. Não é possível fazer algo como "edite a linha 2". O jeito mais fácil de fazer algo equivalente é abrir o arquivo no modo de leitura, carregar o conteúdo na memória, editá-lo e reescrever todo conteúdo no arquivo.
# lendo as linhas do arquivo
with open('arquivo.txt', 'r') as arquivo:
linhas = arquivo.readlines() #cada linha é um elemento da lista linhas
# editando a segunda linha
linhas[1] = 'Capivara\n'
# escrevendo de novo
with open('arquivo.txt', 'w') as arquivo:
arquivo.writelines(linhas)
Isso não é recomendado para arquivos muito grandes pois você carrega todo arquivo na memória. Caso a solução acima não resolva o seu problema por conta disso, comenta aqui e a gente discute uma solução mais sofisticada.