900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > python 加注拼音-一个将汉字转换成汉语拼音的python库的代码

python 加注拼音-一个将汉字转换成汉语拼音的python库的代码

时间:2021-12-12 19:42:56

相关推荐

python 加注拼音-一个将汉字转换成汉语拼音的python库的代码

下边代码段是关于一个将汉字转换成汉语拼音的python库的代码。

#!/usr/bin/env python

"""

Author:cleverdeng

E-mail:clverdeng@

"""

__version__ = '0.9'

__all__ = ["PinYin"]

import os.path

class PinYin(object):

def __init__(self, dict_file='word.data'):

self.word_dict = {}

self.dict_file = dict_file

def load_word(self):

if not os.path.exists(self.dict_file):

raise IOError("NotFoundFile")

with file(self.dict_file) as f_obj:

for f_line in f_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]

def hanzi2pinyin(self, string=""):

result = []

if not isinstance(string, unicode):

string = string.decode("utf-8")

for char in string:

key = '%X' % ord(char)

result.append(self.word_dict.get(key, char).split()[0][:-1].lower())

return result

def hanzi2pinyin_split(self, string="", split=""):

result = self.hanzi2pinyin(string=string)

if split == "":

return result

else:

return split.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="-")

附件:源代码下载

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。