Re: Más sobre tildes

Chema Cortes pych3m4 en gmail.com
Mar Nov 7 00:54:20 CET 2006


El 2006/11/6, Carmelo Zabal <cazabal en gmail.com> escribió:

> Preciso algo más el problema:
> Si uso
>     v='ññññ'
>     archivo=open('salida.py','w')
>     archivo.write(v)
>     archivo.close()
> Todo va perfectamente.
>
> Pero si uso un Text de Tkinter
>    ..........
>     folio=Text(.....)
>     folio.grid()
>     v=folio.get('1.0',END)
>     archivo=open('salida.py','w')
>     archivo.write(v)
>     archivo.close()
>
> El archivo no se genera si el Text contiene ñ y similares. Se genera un
> error de codificación
> Nota: Uso Guadalinex v3

Tienes que tener claro qué codificación estás usando en cada momento y
lugar. Tkinter usa siempre unicode; tu sistema operativo puede que
esté usando otra codificación, así como podría ser que estuvieras
usando otra codificación para el fichero de código.

Lo recomendable sería usar unicode en todos los sitios, aunque no
siempre es posible. Para tu caso, puedes usar la función 'codecs.open'
para crear ficheros en cualquier codificación a partir de caracteres
unicode:

import codecs

charset="iso-8859-15" #pon la codificación que use tu sistema
archivo=codecs.open("salida.py","w",charset)
archivo.write(folio)
archivo.close()




Más información sobre la lista de distribución Python-es