web-dev-qa-db-ja.com

NameError:名前 'unicode'は定義されていません

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

コンパイルすると

NameError: name 'unicode' is not defined
9
Soty

Python 3、いいえ。実行しようとしているPython 2のコードPython 3。 Python 3、unicodestrに名前が変更されました。

ただし、unicode()呼び出しを完全に削除できます。 open()は、alreadyデータをUnicodeにデコードするファイルオブジェクトを生成します。使用するコーデックを明示的に指定する必要があります。

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

チュートリアルがそのバージョンを念頭に置いて書かれている場合は、Python 2に切り替えてください。

23
Martijn Pieters