Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

python 3 - arquivos' txt' ARQUIVO

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...

1 resposta
solução!

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.