El día 5 de abril de 2012 19:45, Jose Caballero
<jcaballero....@gmail.com> escribió:

>
>>
>> Otra posible solución es serializar la lista en binario y antes de
>> cada cadena poner un numero con el tamaño de la misma.
>
>
>
> Pero como se yo el tamagno de cada cadena?
> Si lo supiera el problema estaria resuelto, me basta con contar, no?
> Yo no controlo la creacion de la cadena original, a mi me llega hecha.
>

Como dijiste en el correo anterior:
"""
Una posible solucion es 'escapear' la coma que debe ser tomada literalmente.
"a\,b,c" -> ["a,b", "c"]
"""

asumí que si que podías controlar la creación de la cadena original y
por lo tanto usar un mecanismo de serialización robusto, probado y
fácil de usar. Pero si ese no es el caso yo me lo plantearía de forma
diferente según dos supuestos:

Supuesto 1: Estas intercambiando datos con un proveedor bastante
cutre. Cambia de trabajo o convenceles para que hagan bien las cosas.
Mejoraras en salud, si eres el encargado del mantenimiento de la
aplicación, o mejoraras la salud de un compañero.

Supuesto 2: Estas haciendo un scraper y el proveedor de datos ni
siquiera sabe que lo es. Posiblemente las regex (modulo re) sean la
mejor opción para casi todos tus problemas. De fallarte eso puedes
mirar alguna herramienta para hacer parsers, pero eso ya sería para
gramáticas complejas y recursivas.

re.match("(\w+,\w+),(\w+)", cadena).groups()

Posiblemente con el ejemplo anterior tengas solucionado tu problema.

Un saludo,

Javi
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a