Python中文转拼音

作者: HiWoo | 来源:发表于2017-05-03 18:24 被阅读450次

    --人人可以学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,"",
    # 发现上面的"行"字是多音字,本应念"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')
     
    # 也可以使用回调函数处理
    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个例子中,我们发现这个模块会简单分词,将"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']
    

    相关文章

      网友评论

        本文标题:Python中文转拼音

        本文链接:https://www.haomeiwen.com/subject/rslltxtx.html