Python 汉字转拼音库 pypinyin

时间:2023-03-09 16:38:34
Python 汉字转拼音库 pypinyin

一、初衷:

  一些开源软件的配置文件中识别区分的部分用英文,那么我们在批量生成配置文件的时候,可以从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/