Cookies e posição de leitura em arquivos

Cookies e posição de leitura em arquivos

por Marcelo Queiroz -
Número de respostas: 0

Boa tarde!

Durante a aula de hoje lemos uma documentação do método seek para arquivos:

seek(self, cookie, whence=0, /)
    Change stream position.
    
    Change the stream position to the given byte offset. The offset is
    interpreted relative to the position indicated by whence.  Values
    for whence are:
    
    * 0 -- start of stream (the default); offset should be zero or positive
    * 1 -- current stream position; offset may be negative
    * 2 -- end of stream; offset is usually negative
    
    Return the new absolute position.

que foi tudo menos elucidativo: o termo estranho nessa documentação (mal-escrita na minha opinião) é o 'cookie'. De fato ele pode ser interpretado na maioria das situações normais como 'offset' (deslocamento), onde o resto da explicação faz sentido. Ou seja, fazer arq.seek(0) equivale a "rebobinar" a leitura do arquivo (posicionar o ponteiro de leitura no início do arquivo). Esse 'cookie', quando é um inteiro bem longo, pode incluir outras informações técnicas/avançadas que não teremos nenhuma oportunidade de usar tão cedo. Se alguém tiver curiosidade de olhar que outros dados podem ser codificados nesse 'cookie' sugiro ler o código das funções

def _pack_cookie

e

def _unpack_cookie

neste arquivo interno do Python.

Marcelo