Unicodedata работает в терминале, но не на .py - PullRequest
0 голосов
/ 16 октября 2019

Я пытаюсь убрать акценты с испанских слов. Если я делаю

import unicodedata

name="Tecnología"
uname=unicode(name, "utf-8")
nameclean=unicodedata.normalize(u"NFKD", uname).encode("ascii", erros="ignore")

В терминальной версии python он работает и возвращает «Tecnologia», а внутри скрипта .py - нет. Я не понимаюЯ получаю ошибку

TypeError: decoding Unicode is not supported

специально для первой части команды unicodedata.normalize(u"NFKD", uname). Я удостоверился, что использую одно и то же предложение для обоих случаев, и я разделил команды, чтобы точно знать, в чем проблема.

Я использую Python 2.7.5 и unicodedata2 12.0.0 (pip install не нашел unicodedata, также установлены unicode и Unicode)


Редактировать:

Так выглядит терминал. Все работает нормально, но при использовании внутри .py возвращает ошибку, о которой я упоминал.

enter image description here

1 Ответ

1 голос
/ 16 октября 2019

Сообщаемое исключение возникает, когда Python просят декодировать экземпляр unicode в Unicode.

>>> name = u"Tecnología"
>>> uname = unicode(name, "utf-8")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: decoding Unicode is not supported
...