將漢字轉(zhuǎn)為拼音,可以用于批量漢字注音、文字排序、拼音檢索文字等常見場景。
現(xiàn)在互聯(lián)網(wǎng)上有許多拼音轉(zhuǎn)換工具,基于Python的開源模塊也不少,今天給大家介紹一個功能特性最多的模塊: ** pypinyin
** ,它支持以下特性:
-
- 根據(jù)詞組智能匹配最正確的拼音。
-
- 支持多音字。
-
- 簡單的繁體支持, 注音支持。
-
- 支持多種不同拼音/注音風(fēng)格。
-
- 命令行工具一鍵轉(zhuǎn)化
1.準(zhǔn)備
開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細(xì)Python安裝指南 進(jìn)行安裝。
(可選1) 如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda,它內(nèi)置了Python和pip.
(可選2) 此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點:Python 編程的最好搭檔—VSCode 詳細(xì)指南。
請選擇以下任一種方式輸入命令安裝依賴 :
- Windows 環(huán)境 打開 Cmd (開始-運行-CMD)。
- MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
- 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install pypinyin
2.基本使用
最普通的拼音轉(zhuǎn)化方法如下:
# Python實用寶典
from pypinyin import pinyin, lazy_pinyin, Style
pinyin('中心')
# [['zhōng'], ['xīn']]
識別多音字:
# Python實用寶典
from pypinyin import pinyin, lazy_pinyin, Style
pinyin('中心', heteronym=True) # 啟用多音字模式
# [['zhōng', 'zhòng'], ['xīn']]
設(shè)置輸出風(fēng)格,只識別首字母:
# Python實用寶典
from pypinyin import pinyin, lazy_pinyin, Style
pinyin('中心', style=Style.FIRST_LETTER) # 設(shè)置拼音風(fēng)格
# [['z'], ['x']]
修改音調(diào)輸出位置,在相應(yīng)字母的后面顯示音調(diào),或者拼音的最后顯示音調(diào):
# Python實用寶典
from pypinyin import pinyin, lazy_pinyin, Style
# TONE2 在相應(yīng)字母的后面顯示音調(diào)
pinyin('中心', style=Style.TONE2, heteronym=True)
# [['zho1ng', 'zho4ng'], ['xi1n']]
# TONE3 拼音的最后顯示音調(diào)
pinyin('中心', style=Style.TONE3, heteronym=True)
# [['zhong1', 'zhong4'], ['xin1']]
不考慮多音字的情況:
# Python實用寶典
from pypinyin import pinyin, lazy_pinyin, Style
lazy_pinyin('中心') # 不考慮多音字的情況
# ['zhong', 'xin']
不使用v來代替ü:
# Python實用寶典
from pypinyin import pinyin, lazy_pinyin, Style
lazy_pinyin('戰(zhàn)略', v_to_u=True) # 不使用 v 表示 ü
# ['zhan', 'lüe']
標(biāo)記輕聲:
# Python實用寶典
from pypinyin import pinyin, lazy_pinyin, Style
# 使用 5 標(biāo)識輕聲
lazy_pinyin('衣裳', style=Style.TONE3, neutral_tone_with_five=True)
# ['yi1', 'shang5']
使用命令行一鍵識別拼音:
# Python實用寶典
python -m pypinyin 音樂
# yīn yuè
3.高級使用
自定義拼音顯示風(fēng)格
我們可以通過** register()
**來實現(xiàn)自定義拼音風(fēng)格的需求:
from pypinyin import lazy_pinyin
from pypinyin.style import register
@register('kiss')
def kiss(pinyin, **kwargs):
return '
-
互聯(lián)網(wǎng)
+關(guān)注
關(guān)注
54文章
11013瀏覽量
102075 -
開源
+關(guān)注
關(guān)注
3文章
3123瀏覽量
42063 -
python
+關(guān)注
關(guān)注
53文章
4752瀏覽量
84061
發(fā)布評論請先 登錄
相關(guān)推薦
評論