2013-08-06 2 views
3

히브리어 단어를 인쇄하는 데 문제가 있습니다. 나는 카운터 모듈을 사용하여 주어진 텍스트 (히브리어)의 단어 수를 계산합니다. 카운터는 실제로 을 카운트하고 사용하고 있기 때문에 언어를 식별합니다. # -*- coding: utf-8 -*- 히브리어를 파이썬에서 사용하기

문제는 카운터를 인쇄 할 때 이상한 심볼이 표시된다는 것입니다. 여기에 코드와 장 복사를 한다 (I 이클립스를 사용하고 있습니다) :

# -*- 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}) 

올바른 방법으로 단어를 인쇄하는 방법에 어떤 생각?

+0

의존 – keyser

+0

죄송 터미널 될 수 있습니다

당신은 예를 들어,이를 디코딩 할 필요가 이걸 지적하지 않기 때문에, 나는 일식을 사용하고있다. – Itzik984

답변

1

"이상한 심볼"은 파이썬이 유니 코드 문자열을 나타내는 방식입니다.

가 이

>>> 인쇄 '\ xd7 \ x97 \ xd7 \ x94'.decode ('UTF8 ')
חה