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


Posted in Python onMay 05, 2015

本文实例讲述了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程序设计有所帮助。

Python 相关文章推荐
python通过正则查找微博@(at)用户的方法
Mar 13 Python
python实现基于两张图片生成圆角图标效果的方法
Mar 26 Python
python用Pygal如何生成漂亮的SVG图像详解
Feb 10 Python
python 生成器协程运算实例
Sep 04 Python
利用Python实现在同一网络中的本地文件共享方法
Jun 04 Python
浅谈python中真正关闭socket的方法
Dec 18 Python
关于ResNeXt网络的pytorch实现
Jan 14 Python
python递归函数求n的阶乘,优缺点及递归次数设置方式
Apr 02 Python
Jupyter notebook设置背景主题,字体大小及自动补全代码的操作
Apr 13 Python
详解PyQt5中textBrowser显示print语句输出的简单方法
Aug 07 Python
Python趣味入门教程之循环语句while
Aug 26 Python
Python Pandas list列表数据列拆分成多行的方法实现
Dec 14 Python
python基于Tkinter库实现简单文本编辑器实例
May 05 #Python
python实现的简单窗口倒计时界面实例
May 05 #Python
给Python中的MySQLdb模块添加超时功能的教程
May 05 #Python
用Python实现一个简单的多线程TCP服务器的教程
May 05 #Python
简单介绍Python中的try和finally和with方法
May 05 #Python
python中的闭包用法实例详解
May 05 #Python
Python闭包实现计数器的方法
May 05 #Python
You might like
配置支持SSI
2006/11/25 PHP
php微信公众平台开发之获取用户基本信息
2015/08/17 PHP
变量在 PHP7 内部的实现(一)
2015/12/21 PHP
php 反斜杠处理函数addslashes()和stripslashes()实例详解
2016/12/25 PHP
让JavaScript 轻松支持函数重载 (Part 1 - 设计)
2009/08/04 Javascript
js实现点击后将文字或图片复制到剪贴板的方法
2014/08/04 Javascript
JavaScript中使用typeof运算符需要注意的几个坑
2014/11/08 Javascript
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
第一次接触神奇的Bootstrap导航条
2016/08/09 Javascript
jquery popupDialog 使用 加载jsp页面的方法
2016/10/25 Javascript
扩展jquery easyui tree的搜索树节点方法(推荐)
2016/10/28 Javascript
JavaScript中数组Array方法详解
2017/02/27 Javascript
Vue项目中设置背景图片方法
2018/02/21 Javascript
使用Vue做一个简单的todo应用的三种方式的示例代码
2018/10/20 Javascript
Vue 动态路由的实现及 Springsecurity 按钮级别的权限控制
2019/09/05 Javascript
Vue 刷新当前路由的实现代码
2019/09/26 Javascript
[02:06]DOTA2英雄基础教程 暗影萨满
2013/12/16 DOTA
[31:29]完美世界DOTA2联赛PWL S3 INK ICE vs Magma 第一场 12.20
2020/12/23 DOTA
在Python中使用HTML模版的教程
2015/04/29 Python
一张图带我们入门Python基础教程
2017/02/05 Python
Tensorflow实现卷积神经网络用于人脸关键点识别
2018/03/05 Python
Python 中的Selenium异常处理实例代码
2018/05/03 Python
Python OpenCV处理图像之图像直方图和反向投影
2018/07/10 Python
Pytorch加载部分预训练模型的参数实例
2019/08/18 Python
用python的turtle模块实现给女票画个小心心
2019/11/23 Python
下述程序的作用是计算机数组中的最大元素值及其下标
2012/11/26 面试题
软件工程师面试题
2012/06/25 面试题
上班看电影检讨书
2014/02/12 职场文书
建筑安全责任书范本
2014/07/24 职场文书
何玥事迹观后感
2015/06/16 职场文书
公务员处分决定书
2015/06/25 职场文书
教师节班会主持词
2015/07/06 职场文书
预防职务犯罪警示教育心得体会
2016/01/15 职场文书
《多彩的民间艺术》教学反思
2016/02/16 职场文书
sql查询结果列拼接成逗号分隔的字符串方法
2021/05/25 SQL Server
redis lua限流算法实现示例
2022/07/15 Redis