A função Seek () define a posição de um ponteiro de arquivo, enquanto a função Tell () retorna a posição atual do ponteiro do arquivo. A função de busca () do Python altera o local atual do arquivo para o deslocamento. De onde é um parâmetro opcional que padroniza para 0 para a colocação imediata do arquivo; Outros valores são 1 para procurar em relação ao local atual e 2 para buscar em relação ao final do arquivo. Não há valor retornado. Qualquer busca () será apagado na próxima gravação se o arquivo for aberto para anexar com 'a' ou 'a+.'Este método não é de qualquer utilidade se o arquivo for aberto apenas para escrever e estiver no modo Anexo com' A ', mas é útil para arquivos abertos no modo Apênd. Somente compensações retornadas por Tell () são legais quando o arquivo é aberto no modo de texto com 'T.'O uso de várias compensações resulta em comportamento imprevisível. É vital ter em mente que nem todos os objetos de arquivo podem ser pesquisados.
O objetivo deste artigo é ensinar você a utilizar o método Seek () para avançar ou atrasar o cursor do arquivo de sua posição atual. Aprenda a realocar o ponteiro do arquivo para o início ou fim do arquivo. Aprenda a determinar a posição atual do "FileHandle" movendo o ponteiro do arquivo para trás do final do arquivo. Então, vamos começar o tutorial.
Exemplo 1:
Considere o seguinte cenário, no qual estamos lendo o conteúdo de um arquivo de texto com um deslocamento de 5. Isso indica que começaremos a ler o arquivo no 5º personagem.
Aqui, abrimos o arquivo dando o caminho exato. Depois disso, lemos o conteúdo do 5º caractere usando o método de busca.
com open (r'd:/usuários/demos/demonstração.txt ', "r") como fp:Os cinco primeiros caracteres estão faltando na saída, como você pode ver.
Exemplo 2:
Vamos procurar o início do arquivo neste caso. Ao definir o parâmetro de onde. O 0 indica o início do arquivo, que é o primeiro byte. Vejamos como levar o cursor do arquivo para o início do arquivo. Aqui estamos escrevendo para um arquivo de texto no exemplo de processo. Queríamos mover o cursor para o início do arquivo depois de adicionar conteúdo para ler o arquivo completo.
com open (r'd:/usuários/demos/demonstração.txt ', "w+") como fp:O texto está escrito.
Abaixo está o texto atualizado após a execução bem -sucedida do código.
Exemplo 3:
Neste exemplo, procuraremos desde o final do arquivo. Nesse caso, começaremos a pesquisar no final do arquivo. Definimos para onde 2 e deslocamos para 0 para mover o ponteiro do arquivo para o final do arquivo. As três operações listadas abaixo serão realizadas no exemplo abaixo. Adicionaremos conteúdo adicional e alteramos o ponteiro do arquivo para o final do arquivo. A referência do arquivo será então movida para o início do arquivo, e novas informações serão adicionadas lá. Retornaremos o ponteiro do arquivo para o início e continuaremos com a operação de escrita. Vejamos como mover o cursor do arquivo para o final do arquivo. Usaremos um arquivo existente para este processo e abriremos um novo arquivo no modo de leitura/gravação.
com open (r'd:/usuários/demos/demonstração.txt ', "w+") como fp:O conteúdo é adicionado no final da linha.
A demonstração.O arquivo txt também é atualizado.
Exemplo 4:
Finalmente, veremos a situação atual. Podemos realocar o ponteiro de arquivo algumas posições à frente da posição atual definindo de onde 1 e compensar o número da posição que queremos modificar. Se o ponteiro de arquivo atual estiver na 20ª posição e você quiser pular para o 75º caractere, defina -se para 50 e para onde 1. Usaremos um arquivo existente e abriremos um novo arquivo no modo de leitura/gravação para este processo. Considere o código abaixo, que lê três bytes e os converte em bytes. O item foi então avançado 10 pontos de sua posição existente. Lemos três bytes no último.
com open (r'd:/usuários/demos/demonstração.txt ', "rb") como fp:A tela resultante do código acima é a seguinte.
Conclusão:
Neste artigo, aprendemos a navegar diferentes peças ou seções de um arquivo usando o arquivo de arquivo. Mostramos como alterar a posição do arquivo de arquivo com o método Seek () para adicionar novo conteúdo ou ler determinadas seções de arquivo.