python咋变汉语_Python之将汉语转为拼音

用Python将汉字转为拼音的第三方库。

一. xpinyin库

1. 安装

pip install xpinyin

2. 使用技巧

语法格式:get_pinyin(chars: str, splitter: str = '-',tone_marks=None, convert: str = 'lower')。

解释参数:

chars:需要转换为拼音的字符串汉字。不是汉字也可以,但是不会进行转换。

splitter:每个拼音间的拼接字符。

tone_marks:主要是汉字转换成拼单是否需要带上音节。需要带上音节就加上tone_marks='numbers',还有一种是在拼音的最后返回是第几音节的做法tone_marks='numbers'。如果加上了tone_marks='numbers'这个参数就不需要加tone_marks='numbers'了。

convert:拼音转换后是否需要拼音大小写或首字母大写返回。默认值为lower是小写。upper是全大写。capitalize是首字母大写。

注意:该库默认是使用-号进行每个汉字的拼音区分开来的。

a. 简单使用

from xpinyin import Pinyin

# 实例拼音转换对象

p = Pinyin()

# 汉字进行拼音转换

res = p.get_pinyin(u"一切皆往事")

print(res) # yi-qie-jie-wang-shi

b. 以#号进行拼音的拼接

from xpinyin import Pinyin

# 实例拼音转换对象

p = Pinyin()

# 进行拼音转换

res = p.get_pinyin(u"一切皆往事", splitter="#")

print(res) # yi#qie#jie#wang#shi

c. 汉字转拼音后带上音节

如果要转化成带音节的拼音,需要传递参数tone_marks="marks"。

from xpinyin import Pinyin

# 实例拼音转换对象

p = Pinyin()

# 进行拼音转换

res = p.get_pinyin(u"一切皆往事", tone_marks='marks')

print(res) # yī-qiē-jiē-wǎng-shì

如果你不想要以-号进行每个拼音间的拼接的话,可以使用splitter这个参数。值为你想要进行每个拼音间拼接的字符。

如我想拼音间拼接的字符是#号,源码如下:

from xpinyin import Pinyin

p = Pinyin()

res = p.get_pinyin(u"一切皆往事", tone_marks='marks', splitter="#")

print(res) # yī#qiē#jiē#wǎng#shì

d. 拼音全大写

from xpinyin import Pinyin

# 实例拼音转换对象

p = Pinyin()

# 进行拼音转换

res = p.get_pinyin(u"一切皆往事", convert='upper')

print(res) # YI-QIE-JIE-WANG-SHI

e. 拼音首字母大写

from xpinyin import Pinyin

# 实例拼音转换对象

p = Pinyin()

# 进行拼音转换

res = p.get_pinyin(u"一切皆往事", convert='capitalize')

print(res) # Yi-Qie-Jie-Wang-Shi

二. pypinyin库

1. 安装

pip install pypinyin

2. 使用技巧

a. 带上音节

import pypinyin

s = pypinyin.pinyin("一切皆往事")

print(s) # [['yī'], ['qiè'], ['jiē'], ['wǎng'], ['shì']]

b. 不带音节

import pypinyin

s = pypinyin.pinyin("一切皆往事", style=pypinyin.NORMAL)

print(s) # [['yi'], ['qie'], ['jie'], ['wang'], ['shi']]


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部