【python】统计一个文本中,单词的个数(单词,不是字母)

源于我想写一个小工具,统计我学习到的英语单词,去重之后再统计给我目前掌握的单词量;

我的需求:

        1、输入单词,或者句子(用空格隔开)

        2、读取单词,并将单词首字母大写

        3、写入一个txt的文档中

                1)文档中单词应去重

                2)单词按照字母进行排序

                3)统计这个txt中单词总数

我初步的实现代码见下:

还有很多不完善的,希望大家有更好的实现代码,能一起交流~~~

import re
a = input("请输入想记录的单词或句子:")
words = re.split(r"\s+", a)
lenth = len(words)

fileName = 'test1.txt'

def get_file_word():
    # 写入单词
    for i in range(lenth):
        single = words[i]
        formatDaxie = single.capitalize()
        with open("word.txt", "a") as f:
            f.write(formatDaxie)
            f.write(' ')
        f.close()

def word_reduction():
    # 去重
    f = open("word.txt","r", encoding='utf-8')
    # 将文件读出来
    lines = f.read()
    # 以空格分隔成ls,再转成元组去重后,再重新转回list,进行统计单词数
    ls = lines.split()
    ls_temp = set(ls)
    words = list(ls_temp)
    words.sort()
    # 统计总共有多少单词
    count = len(words )
    # 将单词排序
    print(count)
    print(words)
    f = open("word.txt","w", encoding='utf-8')
    f.write('  '.join(str(word) for word in words ))
    f.close()

if __name__ == '__main__':
    get_file_word()
    word_reduction()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值