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模块之time模块(实例讲解)
Sep 13 Python
Python如何爬取实时变化的WebSocket数据的方法
Mar 09 Python
python二进制文件的转译详解
Jul 03 Python
PyCharm下载和安装详细步骤
Dec 17 Python
python logging通过json文件配置的步骤
Apr 27 Python
pyCharm 实现关闭代码检查
Jun 09 Python
Django Admin 上传文件到七牛云的示例代码
Jun 20 Python
python右对齐的实例方法
Jul 05 Python
使用bandit对目标python代码进行安全函数扫描的案例分析
Jan 27 Python
Python3+SQLAlchemy+Sqlite3实现ORM教程
Feb 16 Python
tensorflow中的梯度求解及梯度裁剪操作
May 26 Python
Python爬虫之用Xpath获取关键标签实现自动评论盖楼抽奖(二)
Jun 07 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
PHP环境搭建最新方法
2006/09/05 PHP
PHP通过session id 实现session共享和登录验证的代码
2012/06/03 PHP
PHP fopen 读取带中文URL地址的一点见解
2012/09/25 PHP
php自动识别文字编码并转换为目标编码的方法
2015/08/08 PHP
基于php数组中的索引数组和关联数组详解
2018/03/12 PHP
使用vs code编辑调试php配置的方法
2019/01/29 PHP
新浪中用来显示flash的函数
2007/04/02 Javascript
jquery中的$(document).ready()与window.onload的区别
2009/11/18 Javascript
读jQuery之十四 (触发事件核心方法)
2011/08/23 Javascript
javascript返回顶部效果(自写代码)
2013/01/06 Javascript
Jquery Uploadify上传带进度条的简单实例
2014/02/12 Javascript
JS+CSS实现的漂亮渐变背景特效代码(6个渐变效果)
2016/03/25 Javascript
值得分享和收藏的Bootstrap学习教程
2016/05/12 Javascript
详解React 的几种条件渲染以及选择
2018/10/23 Javascript
es6基础学习之解构赋值
2018/12/10 Javascript
[02:44]2014DOTA2 国际邀请赛中国区预选赛 大神红毯秀
2014/05/25 DOTA
[02:56]DOTA2上海特锦赛小组赛解说FreeAgain采访花絮
2016/02/27 DOTA
Python数据分析之获取双色球历史信息的方法示例
2018/02/03 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
2018/05/02 Python
Python多重继承的方法解析执行顺序实例分析
2018/05/26 Python
python中使用zip函数出现错误的原因
2018/09/28 Python
python使用插值法画出平滑曲线
2018/12/15 Python
在PYQT5中QscrollArea(滚动条)的使用方法
2019/06/14 Python
opencv python Canny边缘提取实现过程解析
2020/02/03 Python
python实现音乐播放器 python实现花框音乐盒子
2020/02/25 Python
Python如何进行时间处理
2020/08/06 Python
生日宴会答谢词
2014/01/09 职场文书
俞敏洪北大演讲稿
2014/05/22 职场文书
优秀乡村医生事迹材料
2014/05/28 职场文书
学校拾金不昧表扬信
2015/01/16 职场文书
介绍信应该怎么开?
2019/04/03 职场文书
PHP使用QR Code生成二维码实例
2021/07/07 PHP
JAVA SpringMVC实现自定义拦截器
2022/03/16 Python
angular4实现带搜索的下拉框
2022/03/25 Javascript
排查并解决Oracle sysaux表空间异常增长
2022/04/20 Oracle
处理canvas绘制图片模糊问题
2022/05/11 Javascript