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 ?
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!