Python实现汉字转换拼音

Posted 幸福丶如此

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python实现汉字转换拼音相关的知识,希望对你有一定的参考价值。

有两个模块都可以实现,一个是 xpinyin模块,还有一个是pypinyin模块,xpinyin模块只是将汉字转换为拼音字母,汉字的拼音字母是没有音调, pypinyin模块不仅将汉字转换为拼音字母,而且汉字的拼音字母是没有音调也都可以输出出来!

一、xpinyin模块

1、安装 xpinyin 模块

pip install xpinyin

2、基本使用

from xpinyin import Pinyin
name = '金领冠珍护405听3'
p = Pinyin()
##转换为小写拼音,默认以 - 为分隔
print(p.get_pinyin(name))      #jin-ling-guan-zhen-hu-405-ting-3

#转换为小写拼音,指定分隔符为空
print(p.get_pinyin(name,''))    #jinlingguanzhenhu405ting3

#转换为小写拼音,指定分隔符为空格
print(p.get_pinyin(name,' '))    #jin ling guan zhen hu 405 ting 3

#显示汉字的一个字母的大写首字母
print(p.get_initial('金'))      #J

#显示多个汉字第一个字母的大写首字母,默认以 - 为分隔
print(p.get_initials(name))     #J-L-G-Z-H-4-0-5-T-3

#显示多个汉字第一个字母的大写首字母,指定分隔符为空
print(p.get_initials(name,''))     #JLGZH405T3

#显示多个汉字第一个字母的大写首字母,指定分隔符为空格
print(p.get_initials(name,' '))     #J L G Z H 4 0 5 T 3

二、pypinyin模块

1、安装 pypinyin 模块

pip install pypinyin

2、基本使用

from pypinyin import pinyin as py
name = '金领冠珍护405听3'
print(py(name))
#运行结果
[['jīn'], ['lǐng'], ['guān'], ['zhēn'], ['hù'], ['405'], ['tīng'], ['3']]

transform_result = py(name)
print(type(transform_result))
for i in transform_result:
    for k in i:
        print(k,end=' ')        
#运行结果
<class 'list'>
jīn lǐng guān zhēn hù 405 tīng 3 


########多音字########
from pypinyin import pinyin as py
print('"中"的拼音:',py('中',heteronym=True))
print('"中国"的拼音',py('中国',heteronym=True))
print('"金领冠珍护405听3"的拼音',py('金领冠珍护405听3',heteronym=True))
#运行结果
"中"的拼音: [['zhōng', 'zhòng']]
"中国"的拼音 [['zhōng'], ['guó']]
"金领冠珍护405听3"的拼音 [['jīn', 'jìn'], ['lǐng'], ['guān', 'guàn'], ['zhēn'], ['hù'], ['405'], ['tīng', 'yǐn', 'yí'], ['3']]


########不带音调的拼音########
from pypinyin import pinyin as py,lazy_pinyin as lpy, Style
print(lpy('中'))
print(lpy('中国'))
print(lpy('金领冠珍护405听3',style=Style.TONE))  #默认为Style.NORMAL
#运行结果
['zhong']
['zhong', 'guo']
['jīn', 'lǐng', 'guān', 'zhēn', 'hù', '405', 'tīng', '3']

以上是关于Python实现汉字转换拼音的主要内容,如果未能解决你的问题,请参考以下文章

超简单 Python 汉字拼音转换工具

python 将汉字转换为拼音

python:将汉字转换为拼音能不能输出拆开的拼音啊

在js中如何实现自动获取汉字的五笔首字母?

使用VBA轻松实现汉字与拼音的转换

java js 汉字对应拼音码,五笔码转换