目录

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

  

python 取字模 python提取汉字首字母_开发语言

多音字拼音

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

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

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

python 取字模 python提取汉字首字母_python 取字模_02

拼音转汉字

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

python 取字模 python提取汉字首字母_ico_03

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))  # 汉字拼音模式

python 取字模 python提取汉字首字母_ico_04