python-获取汉字注音

目录

xpinyin库

汉字转拼音

拼音转汉字

pypinyin库


xpinyin库

安装:pip install xpinyin

汉字转拼音

相关参数

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

获取首拼

from xpinyin import Pinyin

p = Pinyin()
text = u'九万里风鹏正举'
print(p.get_initials(text, splitter='-', with_retroflex=True))  # 获取声母(with_retroflex=True)
print(p.get_initials(text, splitter='-', with_retroflex=False))  # 获取首拼(with_retroflex=False)

获取完成拼音

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

  

多音字拼音

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

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

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

拼音转汉字

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

from xpinyin import Pinyin


def get_chiness(pinyin: str = 'yi'):
    p = Pinyin()
    all_chiness = ""
    for i in range(0x4e00, 0x9fa6):
        strs = chr(i)
        ret = p.get_pinyin(strs, tone_marks=None, splitter=' ')
        if ret == pinyin:
            all_chiness += strs
    print(all_chiness)


if __name__ == '__main__':
    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 = 汉语拼音与俄语字母对照风格,仅首字母
import pypinyin
from pypinyin import pinyin

text = u'九万里风鹏正举'
print(pinyin(text))
print(pinyin(text, style=pypinyin.NORMAL))  # 不带声调
print(pinyin(text, heteronym=True))  # 开启多音字模式
print(pypinyin.lazy_pinyin(text))
print(pypinyin.slug(text, separator='  ', style=pypinyin.BOPOMOFO))  # 汉字拼音模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值