python解析拼音

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
from pypinyin import Style, pinyin, lazy_pinyin, load_phrases_dict

# 普通风格,不带声调. 如:中国 -> zhong guo
style1 = Style.NORMAL

# 标准声调风格,拼音声调在韵母第一个字母上(默认风格). 如:中国 -> zhōng guó
style2 = Style.TONE

# 声调风格2,即拼音声调在各个韵母之后,用数字[1-4]进行表示. 如:中国 -> zho1ng guo2
style3 = Style.TONE2

# 声调风格3,即拼音声调在各个拼音之后,用数字[1-4]进行表示. 如:中国 -> zhong1 guo2
style4 = Style.TONE3

# 声母风格,只返回各个拼音的声母部分. 如:中国 -> zh g
style5 = Style.INITIALS

# 首字母风格,只返回拼音的首字母部分. 如:中国 -> z g
style6 = Style.FIRST_LETTER

# 韵母风格,只返回各个拼音的韵母部分,不带声调. 如:中国 -> ong uo
style7 = Style.FINALS

# 标准韵母风格,带声调,声调在韵母第一个字母上. 如:中国 -> ōng uó
style8 = Style.FINALS_TONE

# 韵母风格2,带声调,声调在各个韵母之后,用数字[1-4]进行表示. 如:中国 -> o1ng uo2
style9 = Style.FINALS_TONE2

# 韵母风格3,带声调,声调在各个拼音之后,用数字[1-4]进行表示. 如:中国 -> ong1 uo2
style10 = Style.FINALS_TONE3

# 注音风格,带声调,阴平(第一声)不标. 如:中国 -> ㄓㄨㄥ ㄍㄨㄛ
style11 = Style.BOPOMOFO

# 注音风格,仅首字母. 如:中国 -> ㄓ ㄍ
style12 = Style.BOPOMOFO_FIRST

# 汉语拼音与俄语字母对照风格,声调在各个拼音之后,用数字[1-4]进行表示. 如:中国 -> чжун1 го2
style13 = Style.CYRILLIC

# 汉语拼音与俄语字母对照风格,仅首字母. 如:中国 -> ч г
style14 = Style.CYRILLIC_FIRST

s1 = '扒'

# 转换结果为二维数组
print(pinyin(s1))
# 转换结果为二维数组,存在多音字
print(pinyin(s1, heteronym=True))
# 转换结果为一维数组
print(lazy_pinyin(s1))

# 设定转换风格
print(pinyin(s1, style=style1))
print(lazy_pinyin(s1, style=style3))

s2 = '你好☆☆,我是xxx'

# 不处理特殊符号
print(lazy_pinyin(s2))
# 忽略特殊符号
print(lazy_pinyin(s2, errors='default'))
# 自定义特殊符号处理
print(lazy_pinyin(s2, errors=lambda item: ''.join(['※' if c == '☆' else c for c in item])))

s3 = '朝阳'

# 自定义拼音
print(lazy_pinyin(s3))
personalized_dict = {
'朝阳': [['cháo'], ['yáng']]
}
load_phrases_dict(personalized_dict)
print(lazy_pinyin(s3))