NameError: имя «Юникод» не определено

fileMain = open("dictionary_15k.txt", "r")
for line1 in fileMain:
    dictWords.append(unicode(line1.strip(), "utf-8"))

При компиляции показывает

NameError: name 'unicode' is not defined

person Soty    schedule 20.03.2016    source источник
comment
@Signal: нет, и если бы это был Python 2, им не пришлось бы этого делать, потому что он встроенный. ОП, очевидно, использует Python 3 для запуска кода Python 2.   -  person Martijn Pieters    schedule 20.03.2016
comment
@MartijnPieters Вау, спасибо за это.   -  person Jason    schedule 20.03.2016


Ответы (1)


В Python 3 нет такого имени, нет. Вы пытаетесь запустить код Python 2 в Python 3. В Python 3 unicode был переименован в str.

Однако вы можете полностью удалить вызов unicode(); open() создает файловый объект, который уже декодирует данные в Unicode для вас. Вы, вероятно, хотите явно указать, какой кодек использовать:

fileMain = open("dictionary_15k.txt", "r", encoding="utf-8")
for line1 in fileMain:
    dictWords.append(line1.strip())

Вы можете переключиться на Python 2, если ваше руководство написано с учетом этой версии.

person Martijn Pieters    schedule 20.03.2016