汉字的拼音虽然有一定的规律,但是做一套好的汉字转拼音的系统并不是那么容易,需要考虑的问题也比较多。汉字转拼音在多个的方向上也经常使用到。比如在url中,很少使用中文作为url连接,一种方式是转换为拼音进行显示。pypinyin
是在所有的汉字转拼音中做的不错的一款,把汉字常见的一些情况都能考虑到。
安装
源码在github中
https://github.com/mozillazg/python-pinyin
安装方法:
pip install pypinyin
使用例子
直接把汉字转为拼音,这是最经常使用的一种方式:
>>> from pypinyin import pinyin, lazy_pinyin, Style
>>> lazy_pinyin(u'厦门')
[u'xia', u'men']
>>> '-'.join(lazy_pinyin(u'厦门'))
u'xia-men'
>>>
带音标的转换方式:
>>> pinyin(u'厦门')
[[u'xi\xe0'], [u'm\xe9n']]
多音词的转换:
>>> pinyin(u'厦', heteronym=True)
[[u'sh\xe0', u'xi\xe0']]
>>> pinyin(u'中心', heteronym=True)
[[u'zh\u014dng', u'zh\xf2ng'], [u'x\u012bn']]
中
在这里有两种发音,一个是一声的,一个是4声的。这种词很少,我测试了几个多音词,并不能全部都有记录。
如果有一个新字,也可以使用自定义自己的拼音库。使用load_phrases_dict
定义自己的拼音库。
load_phrases_dict({'步履蹒跚': [['bù'], ['lǚ'], ['pán'], ['shān']]})