xpinyin模块
1 import xpinyin 2 s = xpinyin.Pinyin() #一个实例化,以后了解 3 print(s.get_pinyin('小小军')) #get_pinyin方法,转出来的拼音,每一个汉字之间默认‘-’连接 4 print(s.get_pinyin('小小军',''))#传个参数,中间不用字符连接
1 from xpinyin import Pinyin 2 p = Pinyin() 3 print(p.get_pinyin("上海", show_tone_marks=True)) #标记声调 4 print(p.get_initial("上")) #一个汉字的拼音首字母大写 5 print(p.get_initials("上海")) #每个汉字的拼音首字母大写
摘自:https://pypi.org/project/xpinyin/
1 >>> from xpinyin import Pinyin 2 >>> p = Pinyin() 3 >>> # default splitter is `-` 4 >>> p.get_pinyin(u"上海") 5 'shang-hai' 6 >>> # show tone marks 7 >>> p.get_pinyin(u"上海", show_tone_marks=True) 8 'shàng-hǎi' 9 >>> # remove splitter 10 >>> p.get_pinyin(u"上海", '') 11 'shanghai' 12 >>> # set splitter as whitespace 13 >>> p.get_pinyin(u"上海", ' ') 14 'shang hai' 15 >>> p.get_initial(u"上") 16 'S' 17 >>> p.get_initials(u"上海") 18 'S-H' 19 >>> p.get_initials(u"上海", u'') 20 'SH' 21 >>> p.get_initials(u"上海", u' ') 22 'S H' 23 24 python2,如果方法中传入变量,那么直接加前缀是不可以了。而是要将变量转为utf-8编码: 25 >>> wordvalue = '中国' 26 >>> wordvalue= unicode(wordvalue,'utf-8') 27 >>> s = p.get_initials(wordvalue, u'').lower() 28 'zg'
注意:python 3中最大的变化之一就是删除了Unicode类型。Python 3默认的是UTF-8编码。这意味着你可以在字符串或者变量名中使用Unciode字符集。
直接用s = p.get_initials(wordvalue, '').lower()即可,不用转码