python实现将汉字转换成汉语拼音的库
本文实例讲述了python实现将汉字转换成汉语拼音的库。分享给大家供大家参考。具体分析如下:
下面的这个python库可以很容易的将汉字转换成拼音,其中用到了一个word.data的字典,可点击此处本站下载。
#!/usr/bin/envpython
#-*-coding:utf-8-*-
__version__='0.9'
__all__=["PinYin"]
importos.path
classPinYin(object):
def__init__(self,dict_file='word.data'):
self.word_dict={}
self.dict_file=dict_file
defload_word(self):
ifnotos.path.exists(self.dict_file):
raiseIOError("NotFoundFile")
withfile(self.dict_file)asf_obj:
forf_lineinf_obj.readlines():
try:
line=f_line.split('')
self.word_dict[line[0]]=line[1]
except:
line=f_line.split('')
self.word_dict[line[0]]=line[1]
defhanzi2pinyin(self,string=""):
result=[]
ifnotisinstance(string,unicode):
string=string.decode("utf-8")
forcharinstring:
key='%X'%ord(char)
result.append(self.word_dict.get(key,char).split()[0][:-1].lower())
returnresult
defhanzi2pinyin_split(self,string="",split=""):
result=self.hanzi2pinyin(string=string)
ifsplit=="":
returnresult
else:
returnsplit.join(result)
if__name__=="__main__":
test=PinYin()
test.load_word()
string="欢迎来到毛票票"
print"in:%s"%string
print"out:%s"%str(test.hanzi2pinyin(string=string))
print"out:%s"%test.hanzi2pinyin_split(string=string,split="-")
希望本文所述对大家的Python程序设计有所帮助。