自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

超簡(jiǎn)單 Python 漢字拼音轉(zhuǎn)換工具

開發(fā) 開發(fā)工具
將漢字轉(zhuǎn)為拼音,可以用于批量漢字注音、文字排序、拼音檢索文字等常見場(chǎng)景。

將漢字轉(zhuǎn)為拼音,可以用于批量漢字注音、文字排序、拼音檢索文字等常見場(chǎng)景。

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

  1. 根據(jù)詞組智能匹配最正確的拼音。
  2. 支持多音字。
  3. 簡(jiǎn)單的繁體支持, 注音支持。
  4. 支持多種不同拼音/注音風(fēng)格。
  5. 命令行工具一鍵轉(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)點(diǎn):Python 編程的最好搭檔—VSCode 詳細(xì)指南。

請(qǐng)選擇以下任一種方式輸入命令安裝依賴:

  1. Windows 環(huán)境 打開 Cmd (開始-運(yùn)行-CMD)。
  2. MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
  3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.
pip install pypinyin

2.基本使用

最普通的拼音轉(zhuǎn)化方法如下:

pypinyin  pinyin, lazy_pinyin, Style
pinyin()

識(shí)別多音字:

pypinyin  pinyin, lazy_pinyin, Style
pinyin(, heteronym=)

設(shè)置輸出風(fēng)格,只識(shí)別首字母:

pypinyin  pinyin, lazy_pinyin, Style
pinyin(, style=Style.FIRST_LETTER)

修改音調(diào)輸出位置,在相應(yīng)字母的后面顯示音調(diào),或者拼音的最后顯示音調(diào):

pypinyin  pinyin, lazy_pinyin, Style


pinyin(, style=Style.TONE2, heteronym=)



pinyin(, style=Style.TONE3, heteronym=)

不考慮多音字的情況:

pypinyin  pinyin, lazy_pinyin, Style
lazy_pinyin()

不使用v來(lái)代替ü:

pypinyin  pinyin, lazy_pinyin, Style
lazy_pinyin(, v_to_u=)

標(biāo)記輕聲:

pypinyin  pinyin, lazy_pinyin, Style

lazy_pinyin(, style=Style.TONE3, neutral_tone_with_five=)

使用命令行一鍵識(shí)別拼音:

python -m pypinyin 音樂

3.高級(jí)使用

自定義拼音顯示風(fēng)格

我們可以通過 register() 來(lái)實(shí)現(xiàn)自定義拼音風(fēng)格的需求:

pypinyin  lazy_pinyin

pypinyin.style register


:
.format(pinyin)


lazy_pinyin(, style=)

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

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

:



NORMAL =

TONE =

TONE2 =

TONE3 =

INITIALS =

FIRST_LETTER =

FINALS =

FINALS_TONE =

FINALS_TONE2 =

FINALS_TONE3 =

BOPOMOFO =

BOPOMOFO_FIRST =

CYRILLIC =

CYRILLIC_FIRST =

處理特殊字符

默認(rèn)情況下,對(duì)于文字中的特殊字符會(huì)不做任何處理,原樣返回:

pinyin()

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

ignore  : 忽略該字符

pinyin(, errors=)

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

pinyin(, errors=)

callable 對(duì)象?  : 提供一個(gè)回調(diào)函數(shù),接受無(wú)拼音字符(串)作為參數(shù), 支持的返回值類型:  unicode?或 list?或 None:

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

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

返回值類型為 list時(shí),會(huì)自動(dòng) 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', '☆']]

自定義拼音庫(kù)

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

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'}) # 調(diào)整 "還" 字的拼音順序
lazy_pinyin('還沒', style=Style.TONE2)
# ['ha2i', 'me2i']


責(zé)任編輯:華軒 來(lái)源: Python實(shí)用寶典
相關(guān)推薦

2010-09-06 16:07:21

SQL函數(shù)

2020-07-20 07:33:44

Python開發(fā)工具

2009-03-25 17:10:50

Linux視頻轉(zhuǎn)換

2010-01-08 10:49:21

JSON 轉(zhuǎn)換工具

2022-06-07 09:58:48

Spotify開源音頻文件

2020-12-03 09:33:58

前端開發(fā)工具

2014-07-24 09:45:00

HTML視頻視頻轉(zhuǎn)換

2024-11-28 15:09:00

Python編程文件格式轉(zhuǎn)換

2012-05-23 09:40:09

HTML5

2018-08-31 10:10:55

Linux開源轉(zhuǎn)換工具

2025-04-17 03:00:00

dbt數(shù)據(jù)轉(zhuǎn)換工具開源

2024-03-26 15:25:55

應(yīng)用接口文件轉(zhuǎn)換工具鴻蒙

2010-06-15 21:49:03

虛擬機(jī)遷移轉(zhuǎn)換工具

2020-08-14 07:57:51

MySQL工具語(yǔ)法

2014-12-30 09:35:16

文字轉(zhuǎn)語(yǔ)音

2024-02-26 08:05:00

Pythonpypinyin開發(fā)

2010-07-21 17:02:35

SQL Server取

2023-10-19 15:35:44

.NET轉(zhuǎn)換工具開發(fā)

2010-10-14 16:45:54

MySQL查詢

2023-07-12 07:15:24

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)