python--读取特定的txt文件,并统计文件中的词汇

去年刚学python的时候,用open的方法写了一个脚本,简化了我自己测试维护环境的工作量(通过ipop工具输出的回显,去统计回显中我想要的字符)。最近刚好学习嵩天老师的课,讲到了这个方法,用来统计某个文档中的人名。索性自己写了个类,刚好巩固一下。

# -*- mode: python ; coding: utf-8 -*-
class Book():
    """定义一个关于书本txt的类"""
    def __init__(self,route):
        self.route = route

    def output_txt(self):
        """输出指定的文档"""
        output = open(self.route).read()
        output = output.lower()     #英文文档中有大小写,lower函数用来统一成小写,方便统计
        for i in '!"#$%&()*+,-./:;<=>?@[\\]^_‘{|}~':
            output = output.replace(i," ")      #将特数字符进行转换,用空格代替
        output = output.split()
        return output       #通过split函数,在这里返回一个列表

    def count_words(self):
        """统计文档中的词汇"""
        count = {}
        for word in self.output_txt():
            count[word] = count.get(word,0)+1       #字典的get方法用来返回对应键的值,如果没有该键则返回0
        items = list(count.items())
        items.sort(key=lambda x:x[1],reverse=True)
        for i in range(10):
            word,counts = items[i]
            print("{0:<10}{1:>5}".format(word,counts))

txt = Book(r'C:\Users\Vayne\Desktop\english.txt')
txt.count_words()

输出为:
在这里插入图片描述

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值