Python练手项目4 -- 统计英文单词的数目

项目来源:show-me-the-code


4号题目:任一个英文的纯文本文件,统计其中的单词出现的个数。


分析:这道题目我个人觉得开放性很大,可以用很多种方式去做,我个人因为目前在做爬虫,使用正则表达式会多一些,就写了一个正则表达式的解析方法。主要是因为这样简洁一点。


上代码:

import re

with open('4.txt', 'r', errors='ignore') as f:
    data = f.read()
    p = re.compile(r'(\w+)')
    items = re.findall(p, data)
    print(len(items))
    for i in items:
        print(i)

效果图:
英文文本

解析结果


这个题目其实很简单,但是不知道什么原因,我一开始读取文本时,始终会出现一个错误或者说是异常UnicodeDecodeError: 'gbk' codec can't decode byte 0x9d in position 2114: incomplete multibyte sequence,导致这个异常的原因是:我没有在open方法里添加errors='ignore'参数。我个人的理解是保存的英文文本因为一些原因导致编码时多了一些东西,导致出错。虽然不明白具体的原因,但觉得可能和操作系统有关。

以上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值