En Thu, 03 Mar 2011 21:41:59 +0100, Douglas Jiménez <doug...@gmail.com> escribió:

En su "Manual de Introducción a Python" (que está siendo comentado en estos momentos en otro hilo y por lo cual lo felicito y le agradezco) Ángel Luis
García plantea (pág. 19) crear en
/usr/local/lib/python2.6/site-packages un archivo sitecustomize.py con el
siguiente contenido:

import sys
sys.setdefaultencoding('iso-8859-1')

que (si no entiendo mal) Python debe leer cuando se inicie. Después de esto
no habría problema con la ejecución del sencillo programa propuesto por
P@vel. Sin embargo, tampoco con esto he tenido suerte.

No se te ocurra hacerlo así. Resolverás tu problema localmente, pero nunca estarás seguro de que tu código funcione en cualquier sitio (si buscas en el archivo de esta lista verás alguna discusión antigua sobre el tema).


para prueba.py=

#!/usr/bin/python
# -*- coding: UTF8 -*-


Te sobra un espacio tras la almohadilla.


Vamos a ver si aclaramos algunos conceptos sobre este problema:

1) python puede trabajar "nativamente" con unicode, algo que luego debe codificarse según requiera la salida por la terminal. Por tanto, lo primero es averiguar qué codificación usa la terminal

2) los ficheros de código pueden haberse codificado en cualquier sistema de codificación. La codificación utf puede usar una marca al principio del fichero para indicarlo, pero algunos editores de texto no saben manejarlas y es mejor no usarlas. Por tanto, lo segundo es indicar con un comentario (primera o segunda línea) en qué sistema de codificación está creado el fichero. Este comentario únicamente influye en cómo se interpretarán los literales unicode en el código (Los que aparecen como u".."). El resto del funcionamiento no se ve afectado (ya he dicho que python usa unicode "nativamente" (aka como "codepoints").

3) si vamos a leer ficheros de texto que no sean en ascii, se deben abrir con 'codecs.open'


Si seguimos con problemas, probar con éste código (codificado en ascii):

print u"Espa\N{LATIN SMALL LETTER N WITH TILDE}a"

Si da error o no se lee "España" correctamente entonces tu problema NO ES DE PYTHON.
_______________________________________________
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