900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 汉字转拼音 python_python实现将汉字转换成汉语拼音的库

汉字转拼音 python_python实现将汉字转换成汉语拼音的库

时间:2019-11-13 16:14:35

相关推荐

汉字转拼音 python_python实现将汉字转换成汉语拼音的库

本文实例讲述了python实现将汉字转换成汉语拼音的库。分享给大家供大家参考。具体分析如下:

下面的这个python库可以很容易的将汉字转换成拼音,其中用到了一个word.data 的字典,可点击此处本站下载。

#!/usr/bin/env python

# -*- coding:utf-8 -*-

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

希望本文所述对大家的Python程序设计有所帮助。

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