在 python 中为波斯语使用 unicode

And*_*vus 3 python unicode utf-8

我正在编写一个脚本来从语料库文件中读取并查找后缀。由于语料库中有波斯语单词,它是 UTF-8 编码的,但是当我使用波斯语后缀进行搜索时,我没有得到任何结果,而另一方面,英语结果可以恢复正常。

from __future__ import unicode_literals
import nltk
import sys


for line in open("corpus.txt"):
for word in line.split():
     if word.endswith('?'):
        print (word)
Run Code Online (Sandbox Code Playgroud)

Ben*_*son 5

在 Python 3 中,你可以只传递encoding=utf-8open

with open("corpus.txt", encoding="utf-8") as fp:
    for line in fp:
        for word in line.split():
            process(word)
Run Code Online (Sandbox Code Playgroud)

在 Python 2 中,您需要执行以下操作:

import codecs
with codecs.open("corpus.txt", encoding="utf-8") as fp:
    for line in fp:
        for word in line.split():
            process(word)
Run Code Online (Sandbox Code Playgroud)