最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于Python實現(xiàn)簡單的漢字拼音轉換工具

 更新時間:2022年09月05日 09:05:05   作者:Ckend  
將漢字轉為拼音,可以用于批量漢字注音、文字排序、拼音檢索文字等常見場景?,F(xiàn)在互聯(lián)網(wǎng)上有許多拼音轉換工具,基于Python的開源模塊也不少,本文將利用pypinyin模塊制作簡單的漢字拼音轉換工具,感興趣的可以了解一下

將漢字轉為拼音,可以用于批量漢字注音、文字排序、拼音檢索文字等常見場景。

現(xiàn)在互聯(lián)網(wǎng)上有許多拼音轉換工具,基于Python的開源模塊也不少,今天給大家介紹一個功能特性最多的模塊:  pypinyin ,它支持以下特性:

  • 1. 根據(jù)詞組智能匹配最正確的拼音。
  • 2. 支持多音字。
  • 3. 簡單的繁體支持, 注音支持。
  • 4. 支持多種不同拼音/注音風格。
  • 5. 命令行工具一鍵轉化

1.準備

開始之前,你要確保Python和pip已經成功安裝在電腦上,如果沒有,可以訪問這篇文章:超詳細Python安裝指南 進行安裝。

(可選1) 如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda,它內置了Python和pip.

(可選2) 此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點

請選擇以下任一種方式輸入命令安裝依賴

1. Windows 環(huán)境 打開 Cmd (開始-運行-CMD)。

2. MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。

3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.

pip install pypinyin

2.基本使用

最普通的拼音轉化方法如下:

# 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']]

設置輸出風格,只識別首字母:

# Python實用寶典
from?pypinyin?import?pinyin, lazy_pinyin, Style
pinyin('中心', style=Style.FIRST_LETTER)?# 設置拼音風格
# [['z'], ['x']]

修改音調輸出位置,在相應字母的后面顯示音調,或者拼音的最后顯示音調:

# Python實用寶典
from?pypinyin?import?pinyin, lazy_pinyin, Style

# TONE2 在相應字母的后面顯示音調
pinyin('中心', style=Style.TONE2, heteronym=True)
# [['zho1ng', 'zho4ng'], ['xi1n']]

# TONE3 拼音的最后顯示音調
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']

標記輕聲:

# Python實用寶典
from?pypinyin?import?pinyin, lazy_pinyin, Style
# 使用 5 標識輕聲
lazy_pinyin('衣裳', style=Style.TONE3, neutral_tone_with_five=True)
# ['yi1', 'shang5']

使用命令行一鍵識別拼音:

# Python實用寶典
python -m pypinyin 音樂
# yīn yuè

3.高級使用

自定義拼音顯示風格

我們可以通過 register() 來實現(xiàn)自定義拼音風格的需求:

from?pypinyin?import?lazy_pinyin

from?pypinyin.style?import?register

@register('kiss')
def?kiss(pinyin, **kwargs):
????return?'?? {0}'.format(pinyin)

??
lazy_pinyin('么么', style='kiss')
# ['?? me', '?? me']

可以見到,通過定義一個 kiss 函數(shù),使用 register 裝飾器,我們生成了一個新的 style,這個 style 可以直接被用于拼音的轉換參數(shù),非常方便。

另外,所有模塊自帶的 style 及其效果如下:

@unique
class?Style(IntEnum):
????"""拼音風格"""

????#: 普通風格,不帶聲調。如:中國 -> ``zhong guo``
????NORMAL =?0
????#: 標準聲調風格,拼音聲調在韻母第一個字母上(默認風格)。如:中國 -> ``zhōng guó``
????TONE =?1
????#: 聲調風格2,即拼音聲調在各個韻母之后,用數(shù)字 [1-4] 進行表示。如:中國 -> ``zho1ng guo2``
????TONE2 =?2
????#: 聲調風格3,即拼音聲調在各個拼音之后,用數(shù)字 [1-4] 進行表示。如:中國 -> ``zhong1 guo2``
????TONE3 =?8
????#: 聲母風格,只返回各個拼音的聲母部分(注:有的拼音沒有聲母,詳見 `#27`_)。如:中國 -> ``zh g``
????INITIALS =?3
????#: 首字母風格,只返回拼音的首字母部分。如:中國 -> ``z g``
????FIRST_LETTER =?4
????#: 韻母風格,只返回各個拼音的韻母部分,不帶聲調。如:中國 -> ``ong uo``
????FINALS =?5
????#: 標準韻母風格,帶聲調,聲調在韻母第一個字母上。如:中國 -> ``ōng uó``
????FINALS_TONE =?6
????#: 韻母風格2,帶聲調,聲調在各個韻母之后,用數(shù)字 [1-4] 進行表示。如:中國 -> ``o1ng uo2``
????FINALS_TONE2 =?7
????#: 韻母風格3,帶聲調,聲調在各個拼音之后,用數(shù)字 [1-4] 進行表示。如:中國 -> ``ong1 uo2``
????FINALS_TONE3 =?9
????#: 注音風格,帶聲調,陰平(第一聲)不標。如:中國 -> ``ㄓㄨㄥ ㄍㄨㄛˊ``
????BOPOMOFO =?10
????#: 注音風格,僅首字母。如:中國 -> ``ㄓ ㄍ``
????BOPOMOFO_FIRST =?11
????#: 漢語拼音與俄語字母對照風格,聲調在各個拼音之后,用數(shù)字 [1-4] 進行表示。如:中國 -> ``чжун1 го2``
????CYRILLIC =?12
????#: 漢語拼音與俄語字母對照風格,僅首字母。如:中國 -> ``ч г``
????CYRILLIC_FIRST =?13

處理特殊字符

默認情況下,對于文字中的特殊字符會不做任何處理,原樣返回:

pinyin('你好☆☆')
# [['nǐ'], ['hǎo'], ['☆☆']]

不過如果你想對這些特殊字符做處理也是可以的,比如:

ignore  : 忽略該字符

pinyin('你好☆☆', errors='ignore')
# [['nǐ'], ['hǎo']]

errors : 替換為去掉  \u  的 unicode 編碼:

pinyin('你好☆☆', errors='replace')
# [['nǐ'], ['hǎo'], ['26062606']]

callable 對象  : 提供一個回調函數(shù),接受無拼音字符(串)作為參數(shù), 支持的返回值類型:  unicode或 list或 None:

pinyin('你好☆☆', errors=lambda?x:?'star')
# [['nǐ'], ['hǎo'], ['star']]

pinyin('你好☆☆', errors=lambda?x:?None)
# [['nǐ'], ['hǎo']]

返回值類型為 list時,會自動 expend list:

pinyin('你好☆☆', errors=lambda?x: ['star'?for?_?in?x])
# [['nǐ'], ['hǎo'], ['star'], ['star']]

# 指定多音字
pinyin('你好☆☆', heteronym=True, errors=lambda?x: [['star',?'☆']?for?_?in?x])
# [['nǐ'], ['hǎo'], ['star', '☆'], ['star', '☆']]

自定義拼音庫

如果你覺得模塊輸出效果不合你意,或者你想做特殊處理,可以通過  load_single_dict() 或  load_phrases_dict()  以自定義拼音庫的方式修正結果:

from?pypinyin?import?lazy_pinyin, load_phrases_dict, Style, load_single_dict
hans =?'桔子'
lazy_pinyin(hans, style=Style.TONE2)
# ['jie2', 'zi3']
load_phrases_dict({'桔子': [['jú'], ['zǐ']]})?# 增加 "桔子" 詞組
lazy_pinyin(hans, style=Style.TONE2)
# ['ju2', 'zi3']

hans =?'還沒'
lazy_pinyin(hans, style=Style.TONE2)
# ['hua2n', 'me2i']
load_single_dict({ord('還'):?'hái,huán'})?# 調整 "還" 字的拼音順序
lazy_pinyin('還沒', style=Style.TONE2)
# ['ha2i', 'me2i']

到此這篇關于基于Python實現(xiàn)簡單的漢字拼音轉換工具的文章就介紹到這了,更多相關Python漢字拼音轉換內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python之捕捉異常詳解

    Python之捕捉異常詳解

    這篇文章主要為大家介紹了Python的捕捉異常,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • Python中使用實現(xiàn)輸出哈沙德數(shù)的多種方法小結

    Python中使用實現(xiàn)輸出哈沙德數(shù)的多種方法小結

    哈沙德數(shù)(Harshad?Number),又稱Niven數(shù),是指一個自然數(shù),它可以被它的各位數(shù)字之和整除,本文將探討如何使用多種不同的方法來判斷一個數(shù)字是否是哈沙德數(shù),感興趣的可以了解下
    2024-01-01
  • python腳本內運行l(wèi)inux命令的方法

    python腳本內運行l(wèi)inux命令的方法

    這篇文章主要介紹了python腳本內運行l(wèi)inux命令的方法,實例分析了Python基于subprocess模塊操作Linux命令的相關技巧,需要的朋友可以參考下
    2015-07-07
  • Python持續(xù)監(jiān)聽文件變化代碼實例

    Python持續(xù)監(jiān)聽文件變化代碼實例

    這篇文章主要介紹了Python持續(xù)監(jiān)聽文件變化代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • numpy中軸處理的實現(xiàn)

    numpy中軸處理的實現(xiàn)

    本文主要介紹了numpy中軸處理的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • 使用Python腳本在Linux下實現(xiàn)部分Bash Shell的教程

    使用Python腳本在Linux下實現(xiàn)部分Bash Shell的教程

    這篇文章主要介紹了使用Python腳本在Linux下實現(xiàn)部分Bash Shell的教程,包括一些簡單的輸入輸出和郵件功能,需要的朋友可以參考下
    2015-04-04
  • 調整Jupyter notebook的啟動目錄操作

    調整Jupyter notebook的啟動目錄操作

    這篇文章主要介紹了調整Jupyter notebook的啟動目錄操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python函數(shù)調用追蹤實現(xiàn)代碼

    Python函數(shù)調用追蹤實現(xiàn)代碼

    這篇文章主要介紹了Python函數(shù)調用追蹤實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • 基于python select.select模塊通信的實例講解

    基于python select.select模塊通信的實例講解

    下面小編就為大家?guī)硪黄趐ython select.select模塊通信的實例講解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • python和websocket構建實時日志跟蹤器的步驟

    python和websocket構建實時日志跟蹤器的步驟

    這篇文章主要介紹了python和websocket構建實時日志跟蹤器的步驟,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下
    2021-04-04

最新評論

阿图什市| 额济纳旗| 千阳县| 交口县| 贺兰县| 宝应县| 胶南市| 凤阳县| 濉溪县| 疏附县| 鹿邑县| 察哈| 临高县| 崇明县| 囊谦县| 柘荣县| 桃园市| 青浦区| 来宾市| 屏东县| 赫章县| 化隆| 白水县| 交城县| 蒙自县| 肃北| 定西市| 庄浪县| 应城市| 永定县| 通渭县| 郯城县| 南昌县| 札达县| 克拉玛依市| 德令哈市| 建始县| 马山县| 孙吴县| 恭城| 苍南县|