許多狀況下,咱們須要將一段漢字轉換爲拼音。好比咱們能夠用拼音來進行排版,或者是將拼音輸出到其餘程序,生成語音。python
通常將漢字轉化成拼音這樣的功能,咱們須要一個字典來實現。好比 Mandarin.dat 。不過在 PyPI 中,已經有很多模塊將其封裝,而這裏要介紹的就是 pinyin 模塊。git
咱們可使用 pip 或 conda 指令安裝 pinyin 模塊。github
$ pip install pinyin
或bash
$ conda install pinyin
在 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'
使用 get_initial
就能夠輸出每一個文字拼音的首字母。不過它會自動加空格。code
>>> pinyin.get_initial('你好') 'n h'
從項目 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
pinyin 模塊就這樣介紹完了。雖然比較簡單,但也十分使用。不少時候,文本轉拼音仍是一件比較簡單的事,可是要將拼音轉化爲文本就可使用另一個模塊的功能: Pinyin2Hanzi - Github