第三次作业呀

杨昀昊
2017*****1008
https://gitee.com/yyh0322/DiSanCiZuoYeYa/commit/b68a3a0dc8f1ddb6aafed2ab6883c892cf7fed2e
程序分析
读文件到缓冲区
def process_file(dst):
try: # 打开文件
l = open(dst, 'r')
except IOError as s:
print (s)
return None
try: # 读文件到缓冲区
bvffer=l.read()
except:
print ("Read File Error!")
return None
l.close()

return bvffer
统计单词频率
def process_buffer(bvffer):
if bvffer:
word_freq = {}

下面添加处理缓冲区 bvffer代码,统计每个单词的频率,存放在字典word_freq

for i in bvffer.split():
word1 = i.strip(punctuation + " ")
if word1 in word_freq:
word_freq[word1] += 1
else:
word_freq[word1] = 1
return word_freq

输出Top10单词
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]: # 输出 Top 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)

性能分析
执行次数最多:word1 = i.strip(punctuation + " ")
执行时间最长:ocess_buffer(bvffer):函数

程序运行结果截图
1627302-20190404105804182-1817615839.png
1627302-20190404105827307-472417275.png
1627302-20190404105838043-2146508212.png

转载于:https://www.cnblogs.com/YYH0322/p/10653649.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值