Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: <Trocutor> en 18 Octubre 2017, 18:36 pm



Título: [PYTHON] Acentos en ascii
Publicado por: <Trocutor> en 18 Octubre 2017, 18:36 pm
Buenas tardees

Alguna manera de que esto no me de error

  File "Harper.py", line 242, in <module>
    if 'Adiós' in Respuesta:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 3: ordinal not in range(128)

Ese es el error y este el codigo :
Código
  1.   print 'Adios ' + Nombre
  2.   os.system('say Adios, ' + Nombre + ', ha sido un placer ayudarte')  
  3.   os.system('clear')
  4.   sys.exit()
  5.  
  6.  if 'adiós' in Respuesta:
  7.   print 'Adios ' + Nombre
  8.   os.system('say Adios, ' + Nombre + ', ha sido un placer ayudarte')
  9.   os.system('clear')
  10.   sys.exit()

Respuesta es un raw_input escrito

Si alguien me puede decir como hacer que si escribo adiós no me de error se lo agradeceria, muchas gracias


Título: Re: [PYTHON] Acentos en ascii
Publicado por: engel lex en 18 Octubre 2017, 18:41 pm
Tienes que usar utf8, coloca en la cabecera

Código:
# -*- coding: utf-8 -*-


Título: Re: [PYTHON] Acentos en ascii
Publicado por: <Trocutor> en 18 Octubre 2017, 18:43 pm
Tienes que usar utf8, coloca en la cabecera

Código:
# -*- coding: utf-8 -*-

Siempre lo uso, el principio de mi script

#! /usr/bin/env python
# -*- coding: utf-8 -*-

import random
import time
import smtplib
import socket
import sys


Título: Re: [PYTHON] Acentos en ascii
Publicado por: <Trocutor> en 18 Octubre 2017, 20:01 pm
Vale ya esta resuelto, asi lo hice

  adios = 'adiós'
  adios2 = adios.decode('utf-8')

  if adios2 in Respuesta:
     print 'Adios ' + Nombre
     os.system('say Adios, ' + Nombre + ', ha sido un placer ayudarte')     
     os.system('clear')
     sys.exit()