许多状况下,咱们须要将一段汉字转换为拼音。好比咱们能够用拼音来进行排版,或者是将拼音输出到其余程序,生成语音。python
通常将汉字转化成拼音这样的功能,咱们须要一个字典来实现。好比 Mandarin.dat 。不过在 PyPI 中,已经有很多模块将其封装,而这里要介绍的就是 pinyin 模块。git
1. pinyin 模块的安装
咱们可使用 pip 或 conda 指令安装 pinyin 模块。github
$ pip install pinyin
或bash
$ conda install pinyin
2. 进行简单的拼音转换
在 pinyin 模块中,咱们只须要一个简单的 get() 函数,就能够返回拼音的符号函数
>>> import pinyin
>>> pinyin.get('你好')
'nǐhǎo'
若是使用 delimiter 参数的话,能够设置两个拼音之间的分隔符。好比能够设置为空格:测试
>>> pinyin.get('你好', delimiter=" ")
'nǐ hǎo'
不少时候, ǐǎ 这样的符号并不适合计算机来读取。 format 参数能够设置输出拼音的方式,好比咱们设置为 strip 参数去掉注音,或者使用 numerical 将注音以数字的方式放在最后:翻译
>>> pinyin.get('你好', format='strip', delimiter=" ")
'ni hao'
>>> pinyin.get('你好', format='numerical', delimiter=" ")
'ni3 hao3'
3. 得到每一个拼音的首字母
使用 get_initial 就能够输出每一个文字拼音的首字母。不过它会自动加空格。code
>>> pinyin.get_initial('你好')
'n h'
4. 甚至还有中译英功能
从项目 Github 的介绍来看, pinyin 这个模块甚至还有中文翻译功能。不过做者也说这个功能是测试用的,并且也好久没有更新的。因此只把官方的介绍放一下:orm
>>> import pinyin.cedict
>>> pinyin.cedict.translate_word('你')
['you (informal, as opposed to courteous 您[nin2])']
>>> pinyin.cedict.translate_word('你好')
['Hello!', 'Hi!', 'How are you?']
>>> list(pinyin.cedict.all_phrase_translations('你好'))
[['你', ['you (informal, as opposed to courteous 您[nin2])']], ['你好', ['Hello!', 'Hi!', 'How are you?']], ['好', ['to be fond of', 'to have a tendency to', 'to be prone to']]]
这个功能只是一个试验功能,因此只是放着玩一玩的,若是你们要更精确的汉译英,能够查找 python 如何使用在线翻译。ip
5. 结语与其余文档
pinyin 模块就这样介绍完了。虽然比较简单,但也十分使用。不少时候,文本转拼音仍是一件比较简单的事,可是要将拼音转化为文本就可使用另一个模块的功能: Pinyin2Hanzi - Github