Convertir lista en cadena de caracteres

Xin xinxic en gmail.com
Jue Sep 13 10:39:00 CEST 2007


Segun lo que dices la opción de Gabriel te debe funcionar.
Quizà canviando el espacio del join por una cadena vacia.

cars = 'abcdef'
''.join([str(ord(c)) for c in cars])
'979899100101102'

Y si quieres leer directamente des del fichero

''.join([str(ord(c)) for c in open('fichero.txt').read()])

Xin

El 13/09/2007, a les 10:01, en/na Alex Sancho va escriure:

> En primer lugar, gracias por contestar.
>
> Lo que quiero es, partiendo de un archivo de texto, por ejemplo
>
> "Hoy va a llover"
>
> Lo convierta en una cadena continua de números al ejecutar el programa.
>
> Si lo hago de la manera que he indicado antes, esa es la salida
>
> :~/python$ python leertexto.py <text
> [72, 111, 121, 32, 118, 97, 32, 97, 32, 108, 108, 111, 118, 101, 114]
>
> Al ser en modo lista, no puedo tratarlo como una cadena de caracteres, 
> mi
> intención es que la salida sea esto
>
> :~/python$ python leertexto.py <text
> 721111213211897329732108108111118101114
>
> Si utilizo bucles, supongo que con archivos muy grandes tendrá 
> problemas,
> por lo que he visto que la programación funcional me resulta más útil. 
> El
> problema es que no sé convertirlo a una cadena
>
> Gracias nuevamente!
>
>
>
> 2007/9/13, Gabriel Genellina <gagsl-py2 en yahoo.com.ar>:
>>
>> En Thu, 13 Sep 2007 04:27:23 -0300, Alex Sancho 
>> <sinnerencia en gmail.com>
>> escribi�:
>>
>>> El caso es que quiero pasar una lista a una cadena de carácteres, es
>>> decir,
>>> que el resultado de esto
>>>
>>>
>>> def caracter (string):
>>>     return map(ord,string)
>>>
>>>
>>> l = sys.stdin.readline()
>>>
>>> i = caracter(l)
>>>
>>> print i
>>>
>>> En vez de dar una lista, de una cadena
>>>
>>> O en su defecto, cómo convertir un texto a números (ya sea ASCII o lo
>> que
>>> sea)
>>> en programación funcional (nada de bucles)
>>
>> No estoy seguro de haber entendido lo que estas tratando de hacer, a 
>> ver
>> si esto se acerca:
>>
>> py> linea = "Hola gente!"
>> py> ' '.join([str(ord(c)) for c in linea])
>> '72 111 108 97 32 103 101 110 116 101 33'
>>
>> --
>> Gabriel Genellina
>>
>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es en aditel.org
>> http://listas.aditel.org/listinfo/python-es
>>
>>
>
>
> -- 
> Alex Sancho
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
------------ 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