zoukankan      html  css  js  c++  java
  • jieba分词工具的使用方法

    作为我这样的萌新,python代码的第一步是:#coding=utf-8

    环境:python3.5+jieba0.39

    一、jieba包安装方法:

    方法1:使用conda安装 conda install jieba(首先使用conda search jieba查看远程仓库有没有jieba资源,有的话就方法一安装,没有用方法二 ,原则是优先使用conda,其次选用pip)
    方法2:使用pip安装 pip install jieba

    二、jieba使用方法

    实现的代码用到open()函数,以下是open()函数的第二个参数,其参数解释如下:

        r   以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
        rb  以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
        r+  打开一个文件用于读写。文件指针将会放在文件的开头。
        rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
        w   打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
        wb  以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
        w+  打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
        wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
        a   打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
        ab  以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
        a+  打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
        ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。  
    

    下面代码实现读取txt文件(test.txt)内容,利用jieba实现分词并将分词结果写到一个新的txt文件(result.txt):

        #coding=utf-8
        import jieba
        import jieba.posseg as pseg
        fileNeedCut = 'G:/experiment/jieba/test.txt'
        fileName = 'G:/experiment/jieba/result.txt'
        
        fn = open(fileNeedCut, "r", encoding="utf-8")
        f = open(fileName, "w+", encoding="utf-8")
        for line in fn.readlines():
            #words = pseg.cut(line) #带分词的词性
            words = jieba.cut_for_search(line) #只是分词,不带词性
            for w in words:
                print(w, file=f)
        f.close()
        fn.close()
    
    三、分词结果

    分词前文件内容:

        大会的主题是:不忘初心,牢记使命
    

    分词后的内容:

        大会
        的
        主题
        是
        :
        不忘
        初心
        ,
        牢记
        使命
    

    注:使用words = pseg.cut(line)可在每个分词后面添加词性标注



    作者:萌萌Msy
    链接:https://www.jianshu.com/p/3a58db86a90b
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    == 与 equals 之区别
    值传递和引用传递
    try-catch-finally容易犯的错误
    设计模式之备忘录模式
    设计模式之观察者模式 Observer
    设计模式之状态模式 State
    设计模式之模板方法模式 templateMethod
    设计模式之策略模式 Strategy
    Java过滤器与SpringMVC拦截器之间的关系与区别
    SpringMVC中使用Interceptor拦截器
  • 原文地址:https://www.cnblogs.com/jfdwd/p/11151719.html
Copyright © 2011-2022 走看看