zoukankan      html  css  js  c++  java
  • Python 将中文转拼音

    文字转拼音

    import os.path
    
    class PinYin(object):
        def __init__(self):
            self.word_dict = {}
    
        def load_word(self, dict_file):
            self.dict_file = dict_file
            
            if not os.path.exists(self.dict_file):
                raise IOError("No Found Dict File.")
    
            with open(self.dict_file) as f_obj:
                for f_line in f_obj.readlines():
                    try:
                        line = f_line.split('   ')
                        self.word_dict[line[0]] = line[1]
                    except:
                        line = f_line.split('   ')
                        self.word_dict[line[0]] = line[1]
                        
    
        def word2pinyin(self, string="", firstcode=False):
            result = []
        
            for char in string:
                key = '%X' % ord(char)
                value = self.word_dict.get(key, char)
                outpinyin = str(value).split()[0][:-1].lower()
        
                if not outpinyin:
                    outpinyin = char
                if firstcode:
                    result.append(outpinyin[0])
                else:
                    result.append(outpinyin)
            
            return result
    
        def word2pinyin_split(self, string="", split="", firstcode=False):
            result = self.word2pinyin(string=string, firstcode=firstcode)
            return split.join(result)
    
    def main():
        pinyin = PinYin()
        pinyin.load_word('G:\Py_Workspace\Py_config\word.data')
        string = "Java程序性能优化-让你的Java程序更快更稳定"
        print("in: %s" % string)
        #print("out: %s" % str(pinyin.word2pinyin(string=string)))
        #print("out: %s" % pinyin.word2pinyin_split(string=string, split="", firstcode=True))
        print("out: %s" % pinyin.word2pinyin_split(string=string, split="", firstcode=False))
    
    if __name__ == "__main__":
        main()
    

      

  • 相关阅读:
    redis-x64-3.2.100下载安装
    open with live server没反应
    JavaScript 语言的历史
    在navicat查看mysql的版本
    node.js安装教程
    个人简介
    C语言结课课程设计
    CommonJS 规范 与 ES6 规范
    大文件分片上传,断点续传,秒传
    babel编译
  • 原文地址:https://www.cnblogs.com/eternal1025/p/5287365.html
Copyright © 2011-2022 走看看