Testando no python 3, quando coloco a função seek, as linhas são escritas no arquivo, tendo o mesmo efeito da função flush.Porque ?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Testando no python 3, quando coloco a função seek, as linhas são escritas no arquivo, tendo o mesmo efeito da função flush.Porque ?
Olá Pedro, como você está?
Peço desculpas pela demora em obter um retorno.
O seek tem o objetivo de definir a posição do apontador no arquivo. Ou seja, se temos um arquivo que tem uma frase: “O Brasil é lindo”, se definirmos seek(3), o apontador do arquivo estará após a letra “B”.
Já o flush, tem o objetivo de liberar a memória do arquivo para que ele seja fechado, forçando assim escrita de dados. Em Python, os arquivos são liberados automaticamente ao fechá-los. No entanto, é possível liberar um arquivo antes de fechá-lo e isso, através do flush.
Os objetivos de ambos os métodos são diferente, mas durante o uso dos dois métodos ocorrem a liberação do arquivo e a gravação dos dados, o método 'flush' libera os dados e o ponteiro continua apontando para o local onde finalizou a gravação, já o método seek libera os dados é direciona o ponteiro para a posição informada.
Qualquer dúvida fico à disposição.
Abraços e bons estudos!