第三次课后作业
作者:互联网
学号:2017*****7154; 姓名:齐山 码云项目仓库:https://gitee.com/qishan66/project/tree/master
代码;
from string import punctuation def process_file(dst):3 try: f = open(dst) except IOError, 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 = {} 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): if word_freq: sorted_word_freq = sorted(word_freq.items(), key=lambda v: v[1], reverse=True) for item in sorted_word_freq[:10]: print item
if __name__ == "__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 word_freq.py Gone_with_the_wind.txt
运行代码
使用cProfile进行性能分析 python -m cProfile word_freq.py Gone_with_the_wind.txt
修改代码if word in word_freq.keys()修改为if word in word_freq 再次分析
系统得到了优化 运行速度明显加快了很多。
标签:__,word,第三次,dst,作业,bvffer,item,课后,freq 来源: https://www.cnblogs.com/qishan6666/p/10666638.html