No entiendo el porque de este error ??
Francisco Palm
fpalm en ula.ve
Lun Sep 26 23:24:05 CEST 2005
Si pongo el siguiente programa
#!/usr/bin/python
# -*- coding: utf-8 -*- <-- ESTA LINEA LA CAMBIO!!!!
import sys
# diccionario de comidas preferidas de cada persona
comidas = {
"Juan" : "tiburón en escabeche",
"Pablo" : "Tostadas don Beto", "Alfredo" : "sesos de mono",
"Fulano" : "cucarachas fritas",
"Sonia" : "burros",
"Darinel" : "Tacos don Pancho"
}
def saluda(nombre, comida):
print "Hola " + nombre + ", te gusta " + comida + ""
def pregunta(nombre):
print "Hola " + nombre + ", que comida te gusta"
respuesta = sys.stdin.readline()
comidas[nombre] = respuesta
for nombre in ["Juan", "Pablo", "Alfredo", "Fulano", "Sonia", "Darinel"]:
if comidas[nombre] is not None:
saluda(nombre, comidas[nombre])
else:
pregunta(nombre)
consigo:
Primero sin ningún encoding
user en machine:~/Python$ python python-es1.py
sys:1: DeprecationWarning: Non-ASCII character '\xc3' in file python-es1.py on line 6, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details
Hola Juan, te gusta tiburón en escabeche
Hola Pablo, te gusta Tostadas don Beto
Hola Alfredo, te gusta sesos de mono
Hola Fulano, te gusta cucarachas fritas
Hola Sonia, te gusta burros
Hola Darinel, te gusta Tacos don Pancho
Ahora con "# -*- coding: iso-8859-15 -*-"
user en machine:~/Python$ python python-es1.py
Hola Juan, te gusta tibur\uffffn en escabeche
Hola Pablo, te gusta Tostadas don Beto
Hola Alfredo, te gusta sesos de mono
Hola Fulano, te gusta cucarachas fritas
Hola Sonia, te gusta burros
Hola Darinel, te gusta Tacos don Pancho
Ahora con "# -*- coding: utf-8 -*-"
user en machine:~/Python$ python python-es1.py
Hola Juan, te gusta tiburón en escabeche
Hola Pablo, te gusta Tostadas don Beto
Hola Alfredo, te gusta sesos de mono
Hola Fulano, te gusta cucarachas fritas
Hola Sonia, te gusta burros
Hola Darinel, te gusta Tacos don Pancho
Bueno, esto depende totalmente de como este configurado el sistema. Si
es Windows es iso-8859-1, si es Ubuntu (Linux) es UTF-8
Pero bueno, a mi me funciona, es cuestión que revises que pasa con tu
plataforma (Sistema Operativo y el Python instalado)
Saludos
F. Palm
Jose Rey wrote:
> Sigue dando el mismo error aun mencionando el encoding
>
> Este es el codigo y posteriormente va el error que me da:
>
> #!/usr/bin/python
> #-*- coding: iso-8859-15 -*-
>
> import sys
> # diccionario de comidas preferidas de cada persona
> comidas = {
> "Juan" : u"tiburón en escabeche",
> "Pablo" : "Tostadas don Beto", "Alfredo" : "sesos de mono",
> "Fulano" : "cucarachas fritas",
> "Sonia" : "burros",
> "Darinel" : "Tacos don Pancho"
> }
>
> def saluda(nombre, comida):
> print "Hola " + nombre + ", te gusta " + comida + ""
>
> def pregunta(nombre):
> print "Hola " + nombre + ", que comida te gusta"
> respuesta = sys.stdin.readline()
> comidas[nombre] = respuesta
>
> for nombre in ["Juan", "Pablo", "Alfredo", "Fulano", "Sonia", "Darinel"]:
> if comidas[nombre] is not None:
> saluda(nombre, comidas[nombre])
> else:
> pregunta(nombre)
>
> -----------------------------------------
>
> UnicodeEncodeError: 'ascii' codec can't encode character u'\xf3' in
> position 144: ordinal not in range(128)
> -------------------------------------------
>
> Salu2 y gracias por vuestro tiempo
>
> JR
> --------------------------------------
>
>
>
> _______________________________________________
> 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