Usando los módulos de buffer (StringIO, BytesIO, cStringIO) podemos personificar datos de cadena o bytes como un archivo.Estos módulos de buffer nos ayudan a imitar nuestros datos como un archivo normal que podemos usar para procesar.
Hasta python2.7 estábamos usando cStringIO o StringIO mientras tratábamos con estos vapores de datos.Ahora en Python 3.x, estamos usando io.StringIO o io.BytesIO del módulo io, ya que los módulos StringIO, y cStringIO ya no están disponibles en Python 3.x.
En Python 2.7 el módulo StringIO era capaz de manejar estos datos.7 el módulo StringIO era capaz de manejar tanto el Byte como el Unicode Pero en python3 tendrás que usar por separado BytesIO para manejar cadenas Byte y StringIO para manejar cadenas Unicode.
- io.StringIO requiere una cadena Unicode.
- io.BytesIO requiere una cadena de bytes.
- StringIO.StringIO permite una cadena Unicode o de Bytes.
- cStringIO.StringIO requiere una cadena codificada como cadena de bytes.
Aquí hay un ejemplo sencillo usando el módulo io
Aquí cada escritura sucesiva anexa los datos en el objeto stream igual que file
Estos métodos de requieren menciones especiales:
getvalue()
Recuperar todo el contenido del file» en cualquier momento antes de que se llame al método close() del objeto file.
Cerrar()
Liberar el buffer de memoria y el trabajo realizado con el objeto buffer.
Buscar()
Puede utilizar seek para mover el cursor sobre él datos como seek(0) para el inicio del archivo
.