zoukankan      html  css  js  c++  java
  • 孙晓宇-20180912-3 词频统计

    此作业的要求参见[https://edu.cnblogs.com/campus/nenu/2019fall/homework/6583]

    代码:https://e.coding.net/sxy504/cipin.git

    以下均是我总结出的对我而言的重难点:(1).py文件转化为.exe文件(2)python打开文件;(3)将文件中的标点等特殊符号去掉;(4)统计每个单词的频率并存放在字典;(5)文件数量的查找及文件路径的判断等。

    功能1 小文件输入。 为表明程序能跑,结果真实而不是迫害老五,请他亲自键盘在控制台下输入命令。

    代码:

    def rd_file(xgc):
        try:
            f = open(xgc, 'r')
        except IOError as s:
            print(s)
            return None
        bf = f.read()
        f.close()
        stat(bf)
    def stat(bf):
        if bf:
            wd_fd = {0}
            bf = bf.lower()
            for i in '!"#$%^&*()_+-=~`:;{}[]|<>,.?/':
                bf = bf.lower().replace(i, " ")
            wds = bf.strip().split()
            a = 0
            a += len(wds)
            print("a:"+str(a))
            for wd in wds:
                wd_fd[wd] = 1 + wd_fd.get(wd, 0)
            ep(wd_fd)

    运行结果:

    功能2 支持命令行输入英文作品的文件名,请老五亲自录入。

    def reg(rec):
        i = '.txt'
        if i in rec:
            w = rec
        else:
            w = rec + '.txt'
        f = open(w, 'r')
        bf = f.read()
        f.close()
        stat(bf)
    def ep(wd_fd):
        if wd_fd:
            sorted_word_freq = sorted(wd_fd.items(), key=lambda v: v[1], reverse=True)
            for item in sorted_word_freq[:10]: 
                #print(item[0], item[1])
                print('%-8s%5d' % (item[0], item[1]))

    功能3 支持命令行输入存储有英文作品文件的目录名,批量统计。

    代码:

    def flnub(x):   
        print(x)
        a = open(x, 'r')
        b = a.read()
        a.close()
        stat(b)def felt(p):
        fs = os.listdir(p) 
        for f in fs:
            if os.path.isfile(f): 
               flnub(f)

    执行结果:

       

    功能4还未实现,随着之后的学习争取可以完成

    PSP:

     

  • 相关阅读:
    Bootstrap中的Dropdown悬停触发
    git常用命令整理
    ThinkPHP-项目模块分组后自定义类库文件放去哪?
    项目开发中常用的PHP实用代码算法
    1049. Counting Ones (30)
    1059. Prime Factors (25)
    1050. String Subtraction (20)
    观察者模式
    策略模式
    JVM剖析
  • 原文地址:https://www.cnblogs.com/sunxiaoyu/p/11538271.html
Copyright © 2011-2022 走看看