Python 汉字转拼音库 pypinyin, 附:汉字拼音转换工具

唐彦
2023-12-01

一、初衷:

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

 类似资料: