首页 > 技术文章 > Python 将拼音和汉字互相转换

acheng1011 2022-01-19 14:12 原文

一、拼音转汉字

利用Pinyin2Hanzi 可以将拼音转换为汉字,可以作为拼音输入法的转换引擎:

def pinyin_2_hanzi(pinyinList):
    from Pinyin2Hanzi import DefaultDagParams
    from Pinyin2Hanzi import dag

    dagParams = DefaultDagParams()
    # path_num:候选值,可设置一个或多个
    result = dag(dagParams, pinyinList, path_num=10, log=True)
    for item in result:
        # socre = item.score # 得分
        res = item.path # 转换结果
        print(res)

if __name__ == '__main__':
    lists = ['ni', 'hao', 'ya']
    pinyin_2_hanzi(lists)
    
    
# 输出结果
['你', '好呀']
['你好', '压']
['你好', '亚']
['你好', '雅']
['你好', '牙']
['你好', '涯']
['你好', '呀']
['你好', '丫']
['你好', '讶']
['你好', '押']

 二、汉字转拼音

from pypinyin import pinyin,lazy_pinyin
import pypinyin

print(pinyin('你好呀'))
# 多音字模式
print(pinyin('你好呀',heteronym=True))
# 设置拼音风格
print(pinyin('你好呀',style=pypinyin.INITIALS))
# 不考虑多音字
print(lazy_pinyin('你好呀'))


# 输出结果
[['nǐ'], ['hǎo'], ['ya']]
[['nǐ'], ['hǎo'], ['ya', 'yā', 'xiā']]
[['n'], ['h'], ['']]
['ni', 'hao', 'ya']

 

推荐阅读