python拼音庫pypinyin庫詳解


# -*- coding: utf-8 -*-
# @Author   : FELIX
# @Date     : 2018/6/30 9:20

from pypinyin import pinyin, lazy_pinyin, Style, load_phrases_dict, load_single_dict
from pypinyin.style import register

print(pinyin('你好'))  # [['nǐ'], ['hǎo']]
print(pinyin('中心', heteronym=True))  # 啟用多音字模式  # [['zhōng', 'zhòng'], ['xīn']]
print(pinyin('中心', style=Style.FIRST_LETTER))  # 設置拼音風格,第一個字母 [['z'], ['x']]
print(pinyin('中心', style=Style.TONE2, heteronym=True))  # [['zho1ng', 'zho4ng'], ['xi1n']]
print(lazy_pinyin('中心'))  # 不考慮多音字的情況 # ['zhong', 'xin']

##########處理不包含拼音的字符
# default (默認行為): 不做任何處理,原樣返回:
print(lazy_pinyin('你好☆☆'))  # ['ni', 'hao', '☆☆']
# ignore : 忽略該字符
print(lazy_pinyin('你好☆☆', errors='ignore'))  # ['ni', 'hao']
# replace : 替換為去掉 \u 的 unicode 編碼
print(lazy_pinyin('你好☆☆', errors='replace'))  # ['ni', 'hao', '26062606']
# callable 對象 : 提供一個回調函數,接受無拼音字符(串)作為參數, 支持的返回值類型: unicode 或 list ([unicode, …]) 或 None 。
print(lazy_pinyin('你好☆☆', errors=lambda x: 'star'))  # ['ni', 'hao', 'star']

########### 自定義拼音庫
print(lazy_pinyin('還沒', style=Style.TONE2))
load_phrases_dict({'桔子': [[''], ['']]})  # 增加 "桔子" 詞組,可以自己定義
print(lazy_pinyin('桔子', style=Style.TONE2))

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


###########自定義拼音風格
@register('kiss')
def kiss(mypinyin, **kwargs):
    return '😘 {0}'.format(mypinyin)


print(lazy_pinyin('么么噠', style='kiss'))

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM