Python中文轉拼音

--人人可以學Python--
pypinyin安裝與使用
pip命令安裝:

pip install pypinyin
(venv) allenwoo@~/renren$ pip install pypinyin
Collecting pypinyin
  Downloading pypinyin-0.18.1-py2.py3-none-any.whl (971kB)
    100% |████████████████████████████████| 972kB 441kB/s 
Installing collected packages: pypinyin
Successfully installed pypinyin-0.18.1

使用pypinyin必須傳入unicode字符串
例子1

#!/usr/bin/python
# -*- coding: UTF-8 -*- 
from pypinyin import pinyin, lazy_pinyin
py_r = pinyin(u"學python,我在行")
print py_r
print("整理下")
for py in py_r:
    for p in py: 
        print p,"",
# 發(fā)現(xiàn)上面的"行"字是多音字,本應念"han"
print("\n啟動多音字")
py_r = pinyin(u"學python,我在行", heteronym=True)
print py_r
for py in py_r:
    for p in py: 
        print p,"",
(venv) allenwoo@~/renren$ python test.py 
[[u'xu\xe9'], [u'python,'], [u'w\u01d2'], [u'z\xe0i'], [u'x\xedng']]
整理下
xué  python,  wǒ  zài  xíng  
啟動多音字
[[u'xu\xe9'], [u'python,'], [u'w\u01d2'], [u'z\xe0i'], [u'x\xedng', u'h\xe1ng', u'x\xecng', u'h\xe0ng', u'h\xe9ng']]
xué  python,  wǒ  zài  xíng  háng  xìng  hàng  héng

例子2:

#!/usr/bin/python
# -*- coding: UTF-8 -*- 
from pypinyin import pinyin, lazy_pinyin
# 不需要聲調
py_r = lazy_pinyin(u"沒有了詩和遠方")
print py_r
 
# 特殊字符
# 默認
py_r = lazy_pinyin(u"滿天都是小☆☆")
print py_r
 
# 不理睬,忽略
py_r = lazy_pinyin(u"滿天都是小☆☆", errors=u'ignore')
print py_r
 
# 替換
py_r = lazy_pinyin(u"滿天都是小☆☆", errors=u'replace')
 
# 也可以使用回調函數(shù)處理
py_r = lazy_pinyin(u"滿天都是小☆☆", errors=lambda x: 'star')
print py_r
(venv) allenwoo@~/renren$ python test.py 
[u'mei', u'you', u'le', u'shi', u'he', u'yuan', u'fang']
[u'man', u'tian', u'dou', u'shi', u'xiao', u'\u2606\u2606']
[u'man', u'tian', u'dou', u'shi', u'xiao']
[u'man', u'tian', u'dou', u'shi', u'xiao', 'star']

在第1個例子中,我們發(fā)現(xiàn)這個模塊會簡單分詞,將"python"分為一個詞
而且其他的中文詞語并沒有按詞分開后再轉拼音

自定義庫:####

** 使用load_phrases_dict,自定義拼音庫**

#!/usr/bin/python
# -*- coding: UTF-8 -*- 
from pypinyin import lazy_pinyin, load_phrases_dict, TONE2
print lazy_pinyin(u"詩和遠方", style=TONE2)
load_phrases_dict({u'遠方':[['ju4'], ['keng1']]})
print lazy_pinyin(u"詩和遠方", style=TONE2)
(venv) allenwoo@~/renren$ python test.py 
[u'shi1', u'he2', u'yua3n', u'fa1ng']
[u'shi1', u'he2', 'ju4', 'keng1']
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容