cStringIO, insertar caracteres, string mutables.
tny
a.porrua en gmail.com
Lun Abr 2 15:59:45 CEST 2007
El lun, 02-04-2007 a las 15:41 +0200, Chema Cortes escribió:
> El 2/04/07, tny <a.porrua en gmail.com> escribió:
> > ¿Se pueden insertar caracteres al principio o dentro de un StringIO?
> > ¿Sólo se pueden sobreescribir?
>
> Sí, funciona como cualquier fichero; no puedes insertar, sólo añadir o
> sobreescribir.
>
>
> > No he visto como se puede hacer.
> >
> > Sólo se me ocurre crear un nuevo StringIO.
> >
> > ¿Sería más recomendable emplear una lista de strings y hacer un
> > "".join() cuando necesite el string?
>
> Si no dices más sobre la naturaleza del problema, sólo te puedo decir
> que es la mejor solución. Puedes crear una lista de "pedazos" (chunks)
> que insertas y modificas como necesites, y acabas por unirlos para
> obtener el resultado final. Hay algoritmos para mejorar la eficiencia
> según lo que vayas a hacer. La idea que prevalece es que es muy
> costoso en tiempo y memoria el operar con strings inmutables. Para
> ello, los algoritmos intentan reducir el número de operaciones entre
> cadenas, muy similar a la resolución óptima de las torres de Hanoi.
>
>
Después de replantearme el problema no son necesarias ni las inserciones
ni sobrescribir por lo que emplearé cStringIO. De todas formas muchas
gracias.
> > Otra duda de los StringIO, he leido algo acerca de problemas al mezclar
> > codificaciones, yo lo quiero para binario (bytes), ¿me sirve?
>
> El problema está en mezclar unicode con ascii. Si no usas unicode no
> tendrás problemas para trabajar en bytes.
>
>
> > Y otra más ¿el mmap es buscarse muchos líos para poca cosa, verdad?
>
> Pues no sé qué decirte. Antes de hacerlo con mmap yo intentaría
> hacerlo con sqlite o bsddb, que también pueden crear bases de datos en
> memoria.
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es
Más información sobre la lista de distribución Python-es