• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python pypinyin.pinyin函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中pypinyin.pinyin函数的典型用法代码示例。如果您正苦于以下问题:Python pinyin函数的具体用法?Python pinyin怎么用?Python pinyin使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了pinyin函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: prefixs_for_term

  def prefixs_for_term (self,term):
    """
    Get prefixs for TERM.
    """
    # Normalization
    term=term.lower()

    # Prefixs for term
    prefixs=[]
    for i in xrange(1, len(term) + 1):
      word = term[:i]
      prefixs.append(word)
      prefixs.append(''.join([i[0] for i in pinyin(word, style=pypinyin.FIRST_LETTER)]).lower())
      prefixs.append(''.join([i[0] for i in pinyin(word, style=pypinyin.NORMAL)]).lower())
      prefixs.append(word)

    tokens = self.normalize(term)
    for token in tokens:
      for i in xrange (1,len(token)+1):
        word = token[:i]
        prefixs.append(word)
        prefixs.append(''.join([i[0] for i in pinyin(word, style=pypinyin.FIRST_LETTER)]).lower())
        prefixs.append(''.join([i[0] for i in pinyin(word, style=pypinyin.NORMAL)]).lower())
        prefixs.append(word)

    return list(set(prefixs))
开发者ID:ultimate010,项目名称:autocomplete-redis,代码行数:26,代码来源:index.py


示例2: get_pinyin

 def get_pinyin(self):
     su_temp = pinyin(self.names[0], style=pypinyin.NORMAL,heteronym=True)
     fn_temp = pinyin(self.names[1], style=pypinyin.NORMAL, heteronym=True)
     su_py = self.combination(self, su_temp, '')
     fn_py = self.combination(self, fn_temp, '')
     pys = self.combination(self, [su_py, fn_py], ' ')
     return pys
开发者ID:linkseed18612254945,项目名称:NameTranslator,代码行数:7,代码来源:DataBase.py


示例3: test_zh_and_en

def test_zh_and_en():
    """中英文混合的情况"""
    # 中英文
    hans = '中心'
    try:
        assert pinyin(hans + 'abc') == [['zh\u014dng'], ['x\u012bn'], ['abc']]
    except AssertionError:
        assert pinyin(hans + 'abc') == [['zh\u014dng'], ['x\u012bn'],
                                        ['a'], ['b'], ['c']]
开发者ID:alexhe,项目名称:python-pinyin,代码行数:9,代码来源:test_pinyin.py


示例4: test_errors_callable

def test_errors_callable():
    def foobar(chars):
        return 'a' * len(chars)

    class Foobar(object):
        def __call__(self, chars):
            return 'a' * len(chars)

    n = 5
    assert pinyin('あ' * n, errors=foobar) == [['a' * n]]
    assert pinyin('あ' * n, errors=Foobar()) == [['a' * n]]
开发者ID:mozillazg,项目名称:python-pinyin,代码行数:11,代码来源:test_pinyin.py


示例5: test_others

def test_others():
    # 空字符串
    assert pinyin('') == []
    # 单个汉字
    assert pinyin('營') == [['y\xedng']]
    # 中国 人
    assert pinyin('中国人') == [['zh\u014dng'], ['gu\xf3'], ['r\xe9n']]
    # 日文
    assert pinyin('の') == [['\u306e']]
    # 没有读音的汉字,还不存在的汉字
    assert pinyin('\u9fff') == [['\u9fff']]
开发者ID:zhaochl,项目名称:python-pinyin,代码行数:11,代码来源:test_pinyin.py


示例6: get_homophones_by_char

def get_homophones_by_char(input_char):
    """
    根据汉字取同音字
    :param input_char:
    :return:
    """
    result = []
    # CJK统一汉字区的范围是0x4E00-0x9FA5,也就是我们经常提到的20902个汉字
    for i in range(0x4e00, 0x9fa6):
        if pinyin([chr(i)], style=pypinyin.NORMAL)[0][0] == pinyin(input_char, style=pypinyin.NORMAL)[0][0]:
            result.append(chr(i))
    return result
开发者ID:djk111,项目名称:pycorrector,代码行数:12,代码来源:text_utils.py


示例7: test_custom_style_with_decorator

def test_custom_style_with_decorator():
    style_value = 'test_custom_style_with_decorator'

    @register(style_value)
    def func(pinyin, **kwargs):
        return pinyin + str(len(pinyin))

    hans = '北京'
    origin_pinyin_s = pinyin(hans)
    expected_pinyin_s = deepcopy(origin_pinyin_s)
    for pinyin_s in expected_pinyin_s:
        for index, py in enumerate(pinyin_s):
            pinyin_s[index] = func(py)

    assert pinyin(hans, style=style_value) == expected_pinyin_s
开发者ID:marcos0318,项目名称:python-pinyin,代码行数:15,代码来源:test_style.py


示例8: lang_zh

def lang_zh(text):
    res = []
    for line in text.split('\n'):
        cut = jieba.cut(line)
        ln = [[i, "'".join(j[0] for j in pypinyin.pinyin(i, style=0))] for i in cut]
        res.append(ln)
    return res
开发者ID:blueset,项目名称:project-lyricova,代码行数:7,代码来源:tr.py


示例9: get_following_users

 def get_following_users(self, user):
     doc = yield self._db.followers.find_one({"user": user}, {"_id":0, "following":1})
     if doc and "following" in doc:
         ret = yield [self.find_user(_, True) for _ in doc["following"] if _]
     else:
         ret = []
     raise gen.Return(sorted(ret, key=lambda x: pinyin(to_unicode(("real_name" in x and x["real_name"]) or ""), style=TONE2)))
开发者ID:BoneLee,项目名称:FBT,代码行数:7,代码来源:users_manager.py


示例10: _du

    def _du(self, _request, _rdata):
        if "user_uuid" not in _request:
            self.setErrorCode(API_ERR.NO_PARA)
            logging.error("Error for no para: %s.", (str(_request)))
            return

        _o = redis_hash_to_dict(self.application.redis, DeviceUser, _request["user_uuid"])

        logging.info(_o)
        
        if _o == None:
            self.setErrorCode(API_ERR.NO_OBJECT)
            logging.error("Error for no user uuid: %s." % (_request["user_uuid"]))
            return

        # not return the password default
        return_password = False
        if "return_password" in _request:
            return_password = _request["return_password"]
        if not return_password:
            del _o["user_password"]
        
        _fn = _o.get("user_fullname")
        if _fn != None and not isinstance(_fn, unicode):
            _fn = _fn.decode("utf-8")

        _rdata.update(_o)
        _rdata["pinyinname0"] = "".join(lazy_pinyin(_fn))
        _rdata["pinyinname1"] = "".join(list(itertools.chain.from_iterable(pinyin(_fn, style=pypinyin.INITIALS))))
        
        return
开发者ID:Michael2008S,项目名称:ppmessage,代码行数:31,代码来源:ppgetuserdetailhandler.py


示例11: _get_pinyin_all

def _get_pinyin_all(existing_combinations, characters):
    """
    Get all combinations of pinyin of some chinese characters as list, in a 
    recurrence way, since format of result from pinyin is [['a'], ['b']]
    So a combination of two level loop is needed to get all the pinyin. 
    :param existing_combinations:  Existing combinations, for already calculated characters. 
    :param characters: Characters to get combination of pinyin 
    :return:  A flat list of all combinations of pinyin for 多音字
    """
    first_character, other_characters = characters[0:1], characters[1:]
    if len(first_character) > 0:
        py = pinyin(first_character, style=pypinyin.FIRST_LETTER, heteronym=True)
        new_existing = []
        for p in py:
            for a in p:
                if len(existing_combinations) > 0:
                    for e in existing_combinations:
                        ne = e[:]
                        ne.append(a)
                        new_existing.append(ne)
                else:
                    ne = existing_combinations[:]
                    ne.append(a)
                    new_existing.append(ne)
        return _get_pinyin_all(new_existing, other_characters)
    return existing_combinations
开发者ID:betterlife,项目名称:psi,代码行数:26,代码来源:format_util.py


示例12: test_errors

def test_errors():
    hans = (
        ('啊', {'style': TONE2}, [['a']]),
        ('啊a', {'style': TONE2}, [['a'], ['a']]),
        # 非中文字符,没有拼音
        ('⺁', {'style': TONE2}, [['\u2e81']]),
        ('⺁', {'style': TONE2, 'errors': 'ignore'}, []),
        ('⺁', {'style': TONE2, 'errors': 'replace'}, [['2e81']]),
        ('⺁⺁', {'style': TONE2, 'errors': 'replace'}, [['2e812e81']]),
        ('⺁⺁', {'style': TONE2, 'errors': lambda x: ['a' for _ in x]},
         [['a'], ['a']]),
        ('⺁⺁', {'style': TONE2, 'errors': lambda x: [['a', 'b'], ['b', 'c']]},
         [['a'], ['b']]),
        ('⺁⺁', {'style': TONE2, 'heteronym': True,
                'errors': lambda x: [['a', 'b'], ['b', 'c']]},
         [['a', 'b'], ['b', 'c']]),
        # 中文字符,没有拼音
        ('鿅', {'style': TONE2}, [['\u9fc5']]),
        ('鿅', {'style': TONE2, 'errors': 'ignore'}, []),
        ('鿅', {'style': TONE2, 'errors': '233'}, []),
        ('鿅', {'style': TONE2, 'errors': 'replace'}, [['9fc5']]),
        ('鿅', {'style': TONE2, 'errors': lambda x: ['a']}, [['a']]),
        ('鿅', {'style': TONE2, 'errors': lambda x: None}, []),
        ('鿅鿅', {'style': TONE2, 'errors': lambda x: ['a' for _ in x]},
         [['a'], ['a']]),
        ('鿅鿅', {'style': TONE2, 'errors': lambda x: [['a', 'b']]},
         [['a'], ['a']]),
        ('鿅鿅', {'style': TONE2, 'heteronym': True,
                'errors': lambda x: [['a', 'b']]},
         [['a', 'b'], ['a', 'b']]),
    )
    for han in hans:
        assert pinyin(han[0], **han[1]) == han[2]
开发者ID:mozillazg,项目名称:python-pinyin,代码行数:33,代码来源:test_pinyin.py


示例13: add_term

def add_term(term, weight):
    words, types = term2words(term)
    if len(words) == 0: #avoid '......'
        return
    #max prefix match
    level, node_id = max_prefix_match(words, types)
    
    # 如果全部存在这个字符序列,则更新 node_id
    if level == len(words):#exist already
        add_weight(node_id, weight)#may lead to parent weight bigger than weight sum of all children
    else:
        for word in words[level:]:
            #insert normal node
            parent = node_id
            node_id = new_node(word, parent)
            if len(word)==1 and ord(word)>=19904 and ord(word)<=40895:
                #insert pinyin node
                pys = pypinyin.pinyin(word, style=pypinyin.NORMAL, heteronym=True)
                for py in pys[0]:
                    #complete pinyin
                    push_pinyin_node(parent, node_id, py)
                    push_pinyin_node(parent, node_id, py[0])
                    if py[0]=='c' or py[0]=='s' or py[0]=='z':
                        if py[1] == 'h':
                            push_pinyin_node(parent, node_id, py[:2])
                
        add_weight(node_id, weight)
开发者ID:zhaochl,项目名称:python-utils,代码行数:27,代码来源:tire_tree.py


示例14: _du

    def _du(self):

        _request = json.loads(self.request.body)

        _user_uuid = _request.get("user_uuid")
        if not _user_uuid:
            self.setErrorCode(API_ERR.NO_PARA)
            return

        _o = redis_hash_to_dict(self.application.redis, DeviceUser, _user_uuid)
        if not _o:
            self.setErrorCode(API_ERR.NO_OBJECT)
            return

        # not return the password default
        return_password = False
        if "return_password" in _request:
            return_password = _request["return_password"]
        if not return_password:
            del _o["user_password"]
        
        _fn = _o.get("user_fullname")
        if _fn != None and not isinstance(_fn, unicode):
            _fn = _fn.decode("utf-8")

        _rdata = self.getReturnData()
        _rdata.update(_o)
        _rdata["pinyinname0"] = "".join(lazy_pinyin(_fn))
        _rdata["pinyinname1"] = "".join(list(itertools.chain.from_iterable(pinyin(_fn, style=pypinyin.INITIALS))))

        _app_uuid = _get_config().get("team").get("app_uuid")
        _o = redis_hash_to_dict(self.application.redis, AppInfo, _app_uuid)
        _rdata.update({"team": _o});
        return
开发者ID:anxiaoyi,项目名称:ppmessage,代码行数:34,代码来源:ppgetuserdetailhandler.py


示例15: addPinyin

def addPinyin(sometext):
    mylist=pinyin(sometext, heteronym=True)
    str=u''
    for pp in mylist:
        str+=pp[0]+u' '
    print str.rstrip()
    return str.rstrip()
开发者ID:jjp9624022,项目名称:pinyin4indesign,代码行数:7,代码来源:pinyin.py


示例16: addPinyin

def addPinyin(sometext):
    mylist=pinyin(sometext,heteronym=True)
    str=u''
    for pp in mylist:
        str+=pp[0]+u' '
#去除最后空格
    
    return strB2Q(str.rstrip())
开发者ID:jjp9624022,项目名称:pinyin4indesign,代码行数:8,代码来源:pinyin2.py


示例17: get_pinyin

def get_pinyin(text):
    pinyin_list = pinyin(text, style=pypinyin.TONE3)
    strs = ''
    for i in range(0,len(pinyin_list)):
        if strs != None:
            strs = strs + ' ' + pinyin_list[i][0]
        else:
            strs = pinyin_list[i][0]
    return strs
开发者ID:fzh369,项目名称:small_Func,代码行数:9,代码来源:pinyin.py


示例18: get_university_by_province

 def get_university_by_province(self, province, need_pinyin=True):
     if province in self._university_of_province:
         if need_pinyin:
             return [{"university": u, "pinyin": self.to_pinyin(u)}
                     for u in self._university_of_province[province]]
         else:
             return sorted(self._university_of_province[province], key=lambda x: pinyin(to_unicode(x), style=TONE2))
     else:
         return []
开发者ID:BoneLee,项目名称:FBT,代码行数:9,代码来源:university_db.py


示例19: test_pinyin

def test_pinyin():
    hans = u'中心'
    assert pinyin(hans) == [[u'zh\u014dng'], [u'x\u012bn']]
    assert pinyin(hans + 'abc') == [[u'zh\u014dng'], [u'x\u012bn'], ['abc']]
    assert pinyin(hans, pypinyin.STYLE_NORMAL) == [[u'zhong'], [u'xin']]
    assert pinyin(hans, pypinyin.STYLE_TONE) == [[u'zh\u014dng'], [u'x\u012bn']]
    assert pinyin(hans, pypinyin.STYLE_TONE2) == [[u'zho1ng'], [u'xi1n']]
    assert pinyin(hans, pypinyin.STYLE_INITIALS) == [['zh'], ['x']]
    assert pinyin(hans, pypinyin.STYLE_FIRST_LETTER) == [[u'z'], [u'x']]
    assert pinyin(hans, heteronym=True) == [[u'zh\u014dng', u'zh\xf2ng'],
                                            [u'x\u012bn']]
开发者ID:timedcy,项目名称:python-pinyin,代码行数:11,代码来源:test_pinyin.py


示例20: name2pinyin

def name2pinyin(name):
    input = name.decode('utf-8')

    letter_list = pinyin(input, 4)
    #print letter_list
    output = "".join([ x[0] for x in letter_list])
    output = safestr(output)
    #print safestr(name), safestr(input), output

    return output
开发者ID:foxbupt,项目名称:stockcat,代码行数:10,代码来源:pinyin.py



注:本文中的pypinyin.pinyin函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python pypipegraph.run_pipegraph函数代码示例发布时间:2022-05-27
下一篇:
Python pypinyin.lazy_pinyin函数代码示例发布时间:2022-05-27
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap