学会python——统计文件中文字出现次数(python实例九)

目录

1、认识Python

2、环境与工具

2.1 python环境

2.2 Visual Studio Code编译

3、统计文本文件中单词频率

3.1 代码构思

3.2 代码示例

3.3 运行结果

4、总结


1、认识Python

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。

Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字或标点符号,它具有比其他语言更有特色的语法结构。

2、环境与工具

2.1 python环境

在Windows上使用命令行窗口查看所安装的python版本

python --version

 

2.2 Visual Studio Code编译

Visual Studio Code是一款由微软开发且跨平台的免费源代码编辑器。该软件以扩展的方式支持语法高亮、代码自动补全、代码重构功能,并且内置了命令行工具和Git 版本控制系统。

3、统计文本文件中单词频率

3.1 代码构思

对文本文件一行一行的进行遍历,在通过列表生成式吧每一个单词取出放在变量中,内层循环统计每一个单词出现的次数,再对次数进行统计排序,最后函数对排好序的字典按传入的参数值进行切片并返回。注意要在代码目录下新建一个文本文件“test.txt”

3.2 代码示例

import re

# 定义一个类
class CounterWord:
    def __init__(self, file_name):
        # 设置要统计单词的文件名
        self.filename = file_name
        # 初始化字典,用来保存单词出现的次数
        self.dict_count = {}

    # 定义一个统计函数
    def count_word(self):
        try:
            with open(self.filename, 'r', encoding='utf-8') as f:
                # 循环读取每一行
                for line in f:
                    words = [s.lower() for s in re.findall(r'\w+', line)]
                    # 统计单词出现的次数
                    for word in words:
                        self.dict_count[word] = self.dict_count.get(word, 0) + 1
        except FileNotFoundError:
            print(f"文件 {self.filename} 未找到。")
        except Exception as e:
            print(f"读取文件时发生错误:{e}")

    # 取出现次数在num前的单词
    def top_number(self, num):
        return sorted(self.dict_count.items(), key=lambda item: item[1], reverse=True)[:num]

if __name__ == '__main__':
    counter_obj = CounterWord('./part2/test.txt')
    counter_obj.count_word()
    top_num_6 = counter_obj.top_number(6)
    print('test.txt 中出现次数前六的单词有:')
    for word, count in top_num_6:
        print(f"{word} 出现:{count} 次")

3.3 运行结果

4、总结

该代码可以用作文本内容检查,检查高频率用语。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值