• 3333


    学号 2017****1016
    姓名 李双阳
    码云地址 https://gitee.com/LSY_IT/events

    程序分析,对程序中的四个函数做简要说明。要求附上每一段代码及对应的说明。

    def process_file(dst): # 读文件到缓冲区 (打开且读取文件到缓冲区)
    try: # 打开文件
    f = open(dst)
    except IOError as s:
    print (s)
    return None
    try: # 读文件到缓冲区
    bvffer = f.read()
    except:
    print ("Read File Error!")
    return None
    f.close()
    return bvffer

    def process_buffer(bvffer): (统计每个单词次数)
    if bvffer:
    word_freq = {}
    # 下面添加处理缓冲区 bvffer代码,统计每个单词的频率,存放在字典word_freq
    for item in bvffer.strip().split():
    word = item.strip(punctuation+' ')
    if word in word_freq.keys():
    word_freq[word] += 1
    else:
    word_freq[word] = 1
    return word_freq

    def output_result(word_freq): (排序输出前10个次数单词)
    if word_freq:
    sorted_word_freq = sorted(word_freq.items(), key=lambda v: v[1], reverse=True)
    for item in sorted_word_freq[:10]: # 输出 Top 10 的单词
    print(item)

    if name == "main": (调用main函数,输出至控制台)
    import argparse
    parser = argparse.ArgumentParser()
    parser.add_argument('dst')
    args = parser.parse_args()
    dst = args.dst
    bvffer = process_file(dst)
    word_freq = process_buffer(bvffer)
    output_result(word_freq)

    性能分析结果及改进。
    用命令python -m cProfile word_freq.py Gone_with_the_wind.txt运行

    总共有3298次函数调用,程序总共耗时0.006秒

    执行次数最多的代码

    总结反思
    学习了词频统计这个程序,使我了解了性能分析,了解python这门语言。。

  • 相关阅读:
    hdu 5154 拓扑排序
    CSS性能优化的8个技巧
    移动端性能监控方案Hertz
    箴言
    如何使网页的文字不能被复制
    flyio 的请求封装
    vue-cli3.0 环境变量与模式
    函数防抖和函数节流
    CSS世界中那些说起来很冷的知识
    vue多层次组件监听动作和属性
  • 原文地址:https://www.cnblogs.com/LSY-IT/p/10670300.html
Copyright © 2020-2023  润新知