词频统计及其效能分析
1.个人信息
- 学号:2017XXXXX7199
- 姓名:王子铭
- 词频统计及其效能分析仓库:
2.程序分析
1.导入正则表达式 (re模块)和string模块中的punctuation方法
import re
from string import punctuation
2.打开文件读入缓冲区
def process_file(dst):
# 读文件到缓冲区
try:
# 打开文件
fi1e=open(dst,"r")
except IOError as s:
print (s)
return None
try:
# 读文件到缓冲区
bvffer=fi1e.read()
except:
print ("Read File Error!")
return None
fi1e.close()
return bvffer
3.process_buffer函数功能主要是对读取出来的文件进行操作对词频进行计数。
def process_buffer(bvffer):
if bvffer:
word_freq = {}
bvffer=bvffer.lower()
for x in '+_)(*&^%$#@!~=-/*?':
bvffer=bvffer.replace(x, " ")
words=bvffer.strip().split()
for word in words:
word_freq[word]=word_freq.get(word,0)+1
return word_freq
4.遍历切割完的字符串,并输出统计频率Top 10 的单词
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)
4.最后一段代码的功能为初始化程序
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)
3 性能分析结果及改进。
执行次数最多的代码,执行时间最长的代码。
4程序运行命令、运行结果截图以及改进后的程序运行命令及结果截图 。
5 给出你对此次任务的总结与反思。
1由于个人技术原因,此次作业由他人指导完成。
2通过这次作业又复习了一遍正则表达式 (re模块)和string模块中的punctuation方法 。
3通过这次作业了解效能分析有什么用,能做出简单的效能分析。
4.学会了git创建分支和切换到新建分支的方法。
5.由于失误将码云的master分支删除。