Python 3 - Método de busca () de arquivo

Descrição

O método seek()define a posição atual do arquivo no deslocamento. O argumento whence é opcional e o padrão é 0, o 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.

Não há reembolso. Observe que se o arquivo for aberto para anexar usando 'a' ou 'a +', qualquer operação de busca () será desfeita na próxima gravação.

Se o arquivo for aberto apenas para gravação no modo anexar usando 'a', este método é essencialmente um no-op, mas permanece útil para arquivos abertos no modo anexar com leitura ativada (modo 'a +').

Se o arquivo for aberto em modo texto usando 't', apenas offsets retornados por tell () são válidos. O uso de outros offsets causa um comportamento indefinido.

Observe que nem todos os objetos de arquivo são pesquisáveis.

Sintaxe

A seguir está a sintaxe para seek() método -

fileObject.seek(offset[, whence])

Parâmetros

  • offset - Esta é a posição do ponteiro de leitura / gravação dentro do arquivo.

  • whence - Isso é opcional e o padrão é 0, o 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.

Valor de retorno

Este método não retorna nenhum valor.

Exemplo

O exemplo a seguir mostra o uso do método seek ().

Assuming that 'foo.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
#!/usr/bin/python3

# Open a file
fo = open("foo.txt", "r+")
print ("Name of the file: ", fo.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()

Resultado

Quando executamos o programa acima, ele produz o seguinte resultado -

Name of the file:  foo.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