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'))

 

转载于:https://www.cnblogs.com/felixwang2/p/9246281.html

你可能感兴趣的:(python)