Articles

Python: Utilizando StringIO e BytesIO para gerir dados como objecto de ficheiro

Posted on

Usando módulos de buffer (StringIO, BytesIO, cStringIO) podemos imitar dados de string ou bytes como um ficheiro. Estes módulos de buffer ajudam-nos a imitar os nossos dados como um ficheiro normal que podemos utilizar para processamento.

Python2.7 estávamos a utilizar cStringIO ou StringIO enquanto lidávamos com este vapor de dados.Agora em Python 3.x, estamos a utilizar io.StringIO ou io.BytesIO do módulo io, uma vez que os módulos StringIO, e cStringIO já não estão disponíveis em Python 3.x.

In Python 2.7 O módulo StringIO também era capaz de manusear o Byte Unicode Mas em python3 terá de utilizar BytesIO separados para manusear Byte strings e StringIO para manusear Unicode strings.

  • io.StringIO requer uma cadeia Unicode.
  • io.BytesIO requer uma cadeia de bytes.
  • StringIO.StringIO.StringIO permite uma cadeia Unicode ou Bytes.
  • cStringIO.StringIO.StringIO requer uma cadeia de bytes que é codificada como uma cadeia de bytes.

Aqui é um exemplo simples utilizando o módulo io

Aqui, cada uma das sucessivas escritas anexam os dados no objecto do fluxo, tal como o ficheiro

Estes métodos de requer menções especiais:

getvalue()

Retrie todo o conteúdo do file” em qualquer altura antes do método file object’s close() ser chamado.

close()

Livre o buffer de memória e o trabalho feito com o objecto de buffer.

seek()

P>P>Pode usar procurar mover o cursor sobre os dados como seek(0) para o início do ficheiro

Deixe uma resposta

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