一、初衷:

  一些开源软件的配置文件中识别区分的部分用英文,那么我们在批量生成配置文件的时候,可以从CMDB导入汉字(idc_name),

然后将它转换成拼音,再或者拼接上IP地址,以便更准确的识别。例如:Smokeping的Targets配置文件,如下:

+telcom
menu = 中国电信
title = telcom ++yunfuxinxingshuangxian-01-61
menu = 云浮新兴双线-01
title = 61.11.11.11
host = 61.11.11.11

二、方法:

  我们可以调用Python的pypinyin库,来解决汉字转成拼音的问题。

>>> import pypinyin
>>> from pypinyin import pinyin, lazy_pinyin
>>> lazy_pinyin(u'云浮新兴双线-01')
[u'yun', u'fu', u'xin', u'xing', u'shuang', u'xian', u'-01']
>>> ''.join(lazy_pinyin(u'云浮新兴双线-01'))
u'yunfuxinxingshuangxian-01'
>>> ''.join(lazy_pinyin(u'云浮新兴双线-01'))+'-'+'61.11.11.11'.split('.')[0]
u'yunfuxinxingshuangxian-01-61'

  另外:你将汉字转成了拼音写入配置文件,可能还需要拼音转成汉字,用来显示报表等。

那么你可以读取配置文件,取相应的menu(汉字部分)。这里仅提供一种解决思路,具体看实际需求。

grep -n1 yunfuxinxingshuangxian /etc/smokeping/config.d/Targets |grep menu|awk '{print $NF}

附:汉字拼音转换工具(Python版)官方网址:http://pypinyin.readthedocs.org/en/master/

Python 汉字转拼音库 pypinyin的更多相关文章

  1. Python 中拼音库 PyPinyin 的用法【华为云技术分享】

    [摘要] 最近碰到了一个问题,项目中很多文件都是接手过来的中文命名的一些素材,结果在部署的时候文件名全都乱码了,导致项目无法正常运行. 后来请教了一位大佬怎么解决文件名乱码的问题,他说这个需要正面解决 ...

  2. python拼音库pypinyin库详解

    # -*- coding: utf-8 -*- # @Author : FELIX # @Date : 2018/6/30 9:20 from pypinyin import pinyin, lazy ...

  3. Python 汉字转拼音

    本文参考: Python中文转拼音代码(支持全拼和首字母缩写) 中文中不可以有“()” # -*- coding: utf-8 -*- __version__ = '0.9' __all__ = [& ...

  4. python汉字转拼音

    上代码: #!/usr/bin/env python # -*- coding:utf-8 -*- """ Author:cleverdeng E-mail:clverd ...

  5. 汉字转拼音,TinyPinyin、Pinyin4j与JPinyin哪个库更快

    1. 介绍 本文对TinyPinyin.Pinyin4j与JPinyin三个汉字转拼音库的用法.测试代码及转换的结果做一个简单的总结. TinyPinyin 适用于Java和Android的快速.低内 ...

  6. 汉字转拼音,TinyPinyin、Pinyin4j与JPinyin哪个库更快

    1. 介绍 本文对TinyPinyin.Pinyin4j与JPinyin三个汉字转拼音库的用法.测试代码及转换的结果做一个简单的总结. TinyPinyin 适用于Java和Android的快速.低内 ...

  7. 小程序语音红包开发中 汉字转拼音的问题 微信小程序红包开发遇到的坑

    公司最近在开发微信小程序的红包功能,语音红包需要用到文字转拼音的功能. 之前介绍过怎么将中文的汉字转为拼音的,具体看下面这篇文章. 微信语音红包小程序开发如何提高精准度 红包小程序语音识别精准度 微信 ...

  8. 【推荐】iOS汉字转拼音第三方库

    PinYin4Objc是一个在git汉字转拼音的开源库,支持简体和繁体中文.效率POAPinyin等其他库要高,转换库也完整下面简单介绍 实现原理 使用unicode_to_hanyu_pinyin. ...

  9. Hanlp汉字转拼音使用python调用详解

    1.hanlp简介 HanLP是一系列模型与算法组成的NLP工具包,由大快搜索主导并完全开源,目标是普及自然语言处理在生产环境中的应用.HanLP具备功能完善.性能高效.架构清晰.语料时新.可自定义的 ...

随机推荐

  1. poj1456 结构体排序+贪心

    题意:给出很多商品,每个商品有价值和出售期限,只能在期限内出售才能获取利润,每一个单位时间只能出售一种商品,问最多能获得多少利润. 只需要按照优先价值大的,其次时间长的排序所有物品,然后贪心选择,从它 ...

  2. html5图片懒加载

    http://www.178.com/s/js/jquery.lazyload.min.js

  3. caffe: test code for Deep Learning approach

    #include <stdio.h> // for snprintf #include <string> #include <vector> #include &q ...

  4. Unity Meshes

    1. Unity 没有自带建模工具 2. 导入 Mesh 时,Unity 会自动寻找所引用的纹理,查找文件夹名为 Textures 的.先在本目录下找 -> 上溯在parent查找 ==> ...

  5. [转]easyui常用控件及样式API中文收藏

    [转]easyui常用控件及样式收藏 2013-05-06 23:01 30612人阅读 评论(0) 收藏 举报  分类: java ee(5)  目录(?)[+] CSS类定义: div easyu ...

  6. Linux进程间通信-命名管道

    前面我们讲了进程间通信的一种方式,匿名管道.我们知道,匿名管道只能用于父子关系的进程之间.那么没有这种关系的进程之间该如何进行数据传递呢? 1.什么是命名管道 匿名管道是在缓存中开辟的输出和输入文件流 ...

  7. python_Day3[set集合,函数,全局变量之篇]

    一.set集合 1.Set集合特点:无序.不重复,可嵌套 2.set集合创建规则:set = {"123","234"} 字典创建规则:dic = {“Key” ...

  8. SQLServer 执行计划

    http://www.cnblogs.com/fish-li/archive/2011/06/06/2073626.html#_label0   http://www.jb51.net/article ...

  9. cocos2dx 2.x 竖屏

    1, xcode中General->Device Orientation只勾选Portrait. 2, 修改RootViewController.mm中下面代码: // For ios6.0 a ...

  10. OpenJudge计算概论-发票统计

    /*====================================================================== 发票统计 总时间限制: 1000ms 内存限制: 65 ...