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

'w' não truncou o arquivo

Olá, durante a aula o professor realiza a sobrescrita da segunda linha do arquivo utilizando a função write(). Mas foi dito anteriormente que o modo w ,ao escrever, o arquivo é truncado e em seguida começa a escrita, mas ao contrario disso apenas a segunda linha é alterada no video e nao o arquivo inteiro, por que isso acontece ?

1 resposta
solução!

Olá Fernando.

O arquivo vai ser truncado no momento que você utiliza o open, como é dito na documentação da função open e depois o write vai funcionar de acordo com a posição que o ponteiro estiver, e ela sempre será no fim do arquivo a não ser que você utilize a função seek que é detalhada na documentação Input and Outout.

arquivo_contatos.seek(28)
arquivo_contatos.write("Teste")

Utilizando a função seek, você consegue passar por parâmetro a posição que você quer que o ponteiro fique e então quando utilizar o write ele vai começar a escrita desse ponto.

O ponto de atenção que devemos ter é caso o arquivo seja aberto no modo a+, estando nesse modo sempre que utilizar o write o ponteiro vai automaticamente para o final do arquivo, como é exemplificado na aula 2 atividade 3 (Tempo 08:30) onde o instrutor demonstra esse acontecimento.

Espero ter ajudado, mas qualquer duvida não hesite em perguntar.

Bons Estudos.