在python上使用希伯来语

时间:2013-08-06 12:05:13

标签: python eclipse encoding right-to-left hebrew

我在打印希伯来语时遇到问题。我正在使用计数器模块 计算我给定文本中的单词数(以希伯来语表示)。柜台确实很重要 单词,并标识语言,因为我正在使用# -*- coding: utf-8 -*-

问题是,当我打印我的计数器时,我会得到奇怪的符号。 (我正在使用eclipse) 这是代码和打印:

# -*- coding: utf-8 -*-
import string
from collections import Counter
class classifier:
def __init__(self,filename):
    self.myFile = open(filename)
    self.cnt = Counter()

def generateList(self):
    exclude = set(string.punctuation)
    for lines in self.myFile:
        for word in lines.split():
            if word not in exclude:
                nWord = ""
                for letter in word:
                    if letter in exclude:
                        letter = ""
                        nWord += letter
                    else:
                        nWord += letter
                self.cnt[nWord]+=1
    print self.cnt

裴安平:

Counter({'\xd7\x97\xd7\x94': 465, '\xd7\x96\xd7\x95': 432, '\xd7\xa1\xd7\x92\xd7\x95\xd7\xa8': 421, '\xd7\x94\xd7\x92\xd7\x91': 413})

有关如何以正确的方式打印文字的想法吗?

1 个答案:

答案 0 :(得分:1)

你得到的“怪异符号”是python表示unicode字符串的方式。

您需要解码它们,例如:

>>>打印'\ xd7 \ x97 \ xd7 \ x94'.decode('UTF8')
חה