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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值