• python-获取汉字注音


    目录

    xpinyin库

    汉字转拼音

    拼音转汉字

    pypinyin库


    xpinyin库

    安装:pip install xpinyin

    汉字转拼音

    相关参数

    1. chars:要处理的文本,str
    2. splitter拼音之间的分割符,默认为-,str
    3. convert:大小写(upper全大写、capitalize首拼大写、lower全小写),默认为lower
    4. tone_marks:声调(marks符号声调、numbers数据声调、None无声调),默认为None

    获取首拼

    1. from xpinyin import Pinyin
    2. p = Pinyin()
    3. text = u'九万里风鹏正举'
    4. print(p.get_initials(text, splitter='-', with_retroflex=True)) # 获取声母(with_retroflex=True)
    5. print(p.get_initials(text, splitter='-', with_retroflex=False)) # 获取首拼(with_retroflex=False)

    获取完成拼音

    1. print(p.get_pinyin(text, tone_marks='marks', splitter=' ')) # 符号声调
    2. print(p.get_pinyin(text, tone_marks='numbers', splitter=' ', convert='capitalize'))
    3. print(p.get_pinyin(text, splitter=' ', convert='upper'))
    4. print(p.get_pinyin(text, splitter=' ', convert='lower'))

      

    多音字拼音

    get_pinyins()返回一个列表,对应每个字会出现的多音结果都列出来,返回一个列表。

    参数n:给出每个字符所有可能的读法。组合的数量被限制为默认值为10,以避免长文本的指数爆炸。 

    print(p.get_pinyins(text,tone_marks='marks'))

    拼音转汉字

    Unicode 字符编码表中汉字Unicode编码的区间为:0x4e00~0x9fa5

    1. from xpinyin import Pinyin
    2. def get_chiness(pinyin: str = 'yi'):
    3. p = Pinyin()
    4. all_chiness = ""
    5. for i in range(0x4e00, 0x9fa6):
    6. strs = chr(i)
    7. ret = p.get_pinyin(strs, tone_marks=None, splitter=' ')
    8. if ret == pinyin:
    9. all_chiness += strs
    10. print(all_chiness)
    11. if __name__ == '__main__':
    12. get_chiness()

    pypinyin库

    pypinyin比xpinyin更强大,安装:pip install pypinyin 

    函数参数 

    pinyin()
    style指定拼音风格,默认是 TONE风格。
    errors指定如何处理没有拼音的字符。
    heteronym指定是否启用多音字。
    strict指定是否严格遵照《汉语拼音方案》来处理声母和韵母。
    
    pypinyin.lazy_pinyin(hans, style=, errors='default', strict=True)
    style指定拼音风格,默认是 TONE风格。
    errors指定如何处理没有拼音的字符。
    strict指定是否严格遵照《汉语拼音方案》来处理声母和韵母

    风格样式

    NORMAL = 普通风格,不带声调
    TONE = 标准声调风格,拼音声调在韵母第一个字母上(默认风格)
    TONE2 = 声调风格,即拼音声调在各个韵母之后,用数字 [1-4] 进行表示
    TONE3 = 声调风格,即拼音声调在各个拼音之后,用数字 [1-4] 进行表示
    INITIALS = 声母风格,只返回各个拼音的声母部分
    FIRST_LETTER = 首字母风格,只返回拼音的首字母部分
    FINALS = 韵母风格,只返回各个拼音的韵母部分,不带声调
    FINALS_TONE = 标准韵母风格,带声调,声调在韵母第一个字母上
    FINALS_TONE2 = 韵母风格,带声调,声调在各个韵母之后,用数字 [1-4] 进行表示
    FINALS_TONE3 = 韵母风格,带声调,声调在各个拼音之后,用数字 [1-4] 进行表示
    BOPOMOFO = 标准汉语注音风格,带声调,阴平(第一声)不标
    BOPOMOFO_FIRST = 标准汉语注音风格,仅首字母
    CYRILLIC = 汉语拼音与俄语字母对照风格,声调在各个拼音之后,用数字 [1-4] 进行表示
    CYRILLIC_FIRST = 汉语拼音与俄语字母对照风格,仅首字母
    1. import pypinyin
    2. from pypinyin import pinyin
    3. text = u'九万里风鹏正举'
    4. print(pinyin(text))
    5. print(pinyin(text, style=pypinyin.NORMAL)) # 不带声调
    6. print(pinyin(text, heteronym=True)) # 开启多音字模式
    7. print(pypinyin.lazy_pinyin(text))
    8. print(pypinyin.slug(text, separator=' ', style=pypinyin.BOPOMOFO)) # 汉字拼音模式

  • 相关阅读:
    原来背后都是商业利益,看到网易和暴雪的解约之后,原来是要定以后的KPI,坐地起价,但是一个时代已经结束了,都留在了记忆之中
    Vue太难啦!从入门到放弃day03——图书管理系统案例
    【c++】缺省值、内联函数与常成员函数
    聊一聊TypeScript的相关知识点
    模式分类识别 | Python实现基于Xboost的股票走势识别预测
    计算机视觉——基本矩阵的计算
    0.泛型基础学习
    【计算广告学习笔记】1. 广告的计价方式和常用缩写
    python包合集-cffi
    JS实时获取录音数据并播放
  • 原文地址:https://blog.csdn.net/JBY2020/article/details/126778879