Qual é o uso da função seek () em Python?


Melhor resposta

Sintaxe:

fileObject.seek(offset[, whence])

  • deslocamento – Esta é a posição do ponteiro de leitura / gravação dentro do arquivo.
  • de onde – Isso é opcional e o padrão é 0, que significa posicionamento absoluto do arquivo, outros valores são 1 que significa busca em relação à posição atual e 2 significa busca em relação ao final do arquivo.

Ex

Sample.txt:

Assuming that "Sample.txt" file contains following text:

This is 1st line

This is 2nd line

This is 3rd line

This is 4th line

This is 5th line

Programa Python:

# Open a file

fo = open("Sample.txt", "r+")

print ("Name of the file: ", Sample.name)

line = fo.readlines()

print ("Read Line: \%s" \% (line))

# Again set the pointer to the beginning

fo.seek(0, 0)

line = fo.readline()

print ("Read Line: \%s" \% (line))

# Close opened file

fo.close()

Saída:

Name of the file: Sample.txt

Read Line: ["This is 1st line\n", "This is 2nd line\n", "This is 3rd line\n", "This is 4th line\n", "This is 5th line"]

Read Line: This is 1st line

Espero que isso ajude você…

Obrigado 🙂

Resposta

suponha que você tenha aberto um arquivo para ler (ou gravar, o conceito permanece o mesmo).

fh = open (“foo.txt”, “r”)

e você usou f.readline () para ler o arquivo. Pense em um cursor que está em uma determinada posição no arquivo. por exemplo, quando você acaba de abrir um arquivo para ler, a posição do cursor é 0. Quando fazemos um readline (), a posição muda.

Tente isto:

>>> fh=open(“foo.txt”, “r”)

>>> fh.read()

>>> fh.read()

‘’

Quando você executa a linha4, nada é exibido. Isso ocorre porque depois de executar a linha 2, o cursor já avançou para o final do arquivo. não há mais nada para exibir.

É possível alterar a posição do cursor usando o método seek (). No mais simples dos usos de seek (), use

>>> fh.seek(0)

>>> fh.read()

O conteúdo do arquivo será exibido novamente. O que aconteceu aqui é que o cursor foi movido para o início do arquivo.

seek () usa 2 parâmetros.

  1. redefinir a posição para o deslocamento de byte fornecido
  2. de onde- fornece a posição de deslocamento em relação ao início 0, posição atual 1 ou 2 – fim.

O valor padrão do segundo parâmetro é 0. O valor de deslocamento é obrigatório ao chamar esta função.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *