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

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

#!/usr/bin/env python

"""

Author:cleverdeng

E-mail:clverdeng@gmail.com

"""

__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="-")

附件:源代码下载
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值