python缩写转换成全拼_Python中文转拼音代码(支持全拼和首字母缩写)
#!/usr/bin/env python
# -*- coding:utf-8 -*-
"""
原版代码:https://github.com/cleverdeng/pinyin.py
新增功能:
1、可以传入参数firstcode:如果为true,只取汉子的第一个拼音字母;如果为false,则会输出全部拼音;
2、修复:如果为英文字母,则直接输出;
3、修复:如果分隔符为空字符串,仍然能正常输出;
4、升级:可以指定词典的文件路径
"""
__version__ = '0.9'
__all__ = ["PinYin"]
import os.path
class PinYin(object):
def __init__(self):
self.word_dict = {}
def load_word(self, dict_file):
self.dict_file = dict_file
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="", firstcode=False):
result = []
if not isinstance(string, unicode):
string = string.decode("utf-8")
for char in string:
key = '%X' % ord(char)
value = self.word_dict.get(key, char)
outpinyin = str(value).split()[0][:-1].lower()
if not outpinyin:
outpinyin = char
if firstcode:
result.append(outpinyin[0])
else:
result.append(outpinyin)
return result
def hanzi2pinyin_split(self, string="", split="", firstcode=False):
"""提取中文的拼音
@param string:要提取的中文
@param split:分隔符
@param firstcode: 提取的是全拼还是首字母?如果为true表示提取首字母,默认为False提取全拼
"""
result = self.hanzi2pinyin(string=string, firstcode=firstcode)
return split.join(result)
if __name__ == "__main__":
test = PinYin()
test.load_word('word.data')
string = "Java程序性能优化-让你的Java程序更快更稳定"
print "in: %s" % string
print "out: %s" % str(test.hanzi2pinyin(string=string))
print "out: %s" % test.hanzi2pinyin_split(string=string, split="", firstcode=True)
print "out: %s" % test.hanzi2pinyin_split(string=string, split="", firstcode=False)
python缩写转换成全拼_Python中文转拼音代码(支持全拼和首字母缩写)相关推荐
- input框输入中文内容,另一个input框中时时显示转换后的拼音首字母缩写
最近项目中需要完成在input标签内输入中文字符,动态的在另一个input中时时显示中文字符的首字母缩写(首字母都是大写).直接上代码: value属性可以写成value="",图 ...
- Java获取中文拼音、中文首字母缩写和中文首字母
我们有时候会遇到这样的情况,需要获取某些中文的拼音.中文首字母缩写和中文首字母,下面我将为大家介绍一下如何获取中文拼音的缩写. 1.项目建立和配置 首先,我们建立一个java项目,新建libs文件夹并 ...
- linux 中etc全拼,英语中“等等”缩写成为etc.吗?要加一点吗?全拼是...
小编:英语中等等缩写成为etc.吗?要加一点吗?全拼是... 英语中等等缩写成为etc.吗?要加一点吗?全拼是... etc.是英语中等等缩写,全拼是 etcetera .要加一点,加一点是缩写词的稳 ...
- PinYin4j的基本使用 Java获取中文转拼音、获取中文拼音的首字母缩写
前言 在实际开发中,可能会遇到根据用户输入的中文拼音首字母缩写,来查询对应数据的功能需求,本文将提供一个操作中文转拼音.获取拼音首字母的工具类CV即用. 一.PinYin4j 简介 : pinyin4 ...
- 迅搜(XunSearch)+ThinkPHP5实现标题的拼音或拼音首字母缩写搜索
2019独角兽企业重金招聘Python工程师标准>>> 这是两年前学习Coreseek时在问答区问的一个问题: https://www.oschina.net/question/25 ...
- php汉字首字母缩写,迅搜(XunSearch)+ThinkPHP5实现标题的拼音或拼音首字母缩写搜索...
这是两年前学习Coreseek时在问答区问的一个问题: 当时只是想了下,但没去做,现在学迅搜,又想到这个问题,干脆还是试试把它给做了吧 ^_^ 1.数据表字段 2.ThinkPHP5的model里做 ...
- mySQL提取姓氏_MySQL 提取姓名大写首字母缩写
备注:测试数据库版本为MySQL 8.0 Table of Contents 一.需求 将全名转换为大写首字母缩写,比如下面的名字: Stewie Griffin 要求返回如下结果 S.G 二.解决方 ...
- 不使用pinyin4j, 通过字符串截取手段快速查询通讯录联系人的拼音(包括全拼和简拼)
不使用pinyin4j, 通过字符串截取手段快速查询通讯录联系人的拼音(包括全拼和简拼) 刚开始我也是使用pinyin4j但是速度太慢8分钟还加载不完我的280个联系人数据,所以我选择另谋出路.发现有 ...
- 【python入门小知识】实现人名全大写,全小写,首字母大写
python,实现人名全大写,全小写,首字母大写 user1="zhang san,\n" user2="li si,\n" user3="Wang ...
最新文章
- linux下查看服务器性能,linux命令查看服务器性能
- vue单选,多选,多选的内容显示在页面可删除
- 局域网聊天程序 java MySQL_课内资源 - 基于JAVA的局域网聊天软件的设计与实现(仿制QQ)...
- 最后2天,BDTC 2019 早鸟票即将售罄,超强阵容及议题抢先曝光!
- 手机modem开发(1)---MTK modem开发
- R语言 神经网络与深度学习(二)
- 系统之美——系统思考与认识系统
- 顺无盘linux win10包,(2018.05.25)网维大师9.0.6.0无盘-xp-win7x32-x64-Win10x64公包
- 荷兰国旗问题与快速排序
- 收集的tracker
- 用Html制作网页简单例子
- Echert 缩放后切换再数据,缩放大小没还原的解决办法
- python注释语句会不会被解释器过滤掉_Python注释
- 拆分单元格怎么弄?合并起来了怎么办?
- laas和saas_什么是IaaS,PaaS和SaaS及其区别
- c# 操作word光标
- 敏捷开发scrum学习笔记(更新中)
- 知乎App加密流量分析初探
- LED护眼灯真的可以护眼吗?2022专业护眼台灯品牌排行榜
- 给刚入市朋友的几点建议
热门文章
- Bailian4123 马走日【DFS】
- python hdf5 —— h5py
- matlab 音频处理、Python音频处理
- 非参贝叶斯(Bayesian Non-parameter)初步
- Linux Tricks —— 快速清空文本文件内容、文本内容追加(tee)
- 如何将 hadoop1.1.2/1.2.1 源码关联到 Eclipse
- STL::算法::常见算法
- 传递给 left 或 substring 函数的长度参数无效_MySQL:函数入门实例
- dr. unarchiver_1F 新店开业男士一生仅能定制一枚的钻戒,DR 教你用一生爱一人
- linux java运行class文件_jvm学习java文件运行过程