学号 2017*****7142
姓名:张孝兴
仓库地址:
https://gitee.com/nezha66/word_frequency/branches
- 程序分析,对程序中的四个函数做简要说明。要求附上每一段代码及对应的说明。
1.打开读取文档到缓冲区。
def process_file(dst):
try:
p = open(dst,'r')
except IOError as s:
print (s)
return None
try:
bvffer = p.read()
except:
print ("Read File Error!")
return None
p.close()
return bvffer
2.去掉大小写符号,空格,for循环进行统计增值,word_freq返回。
def process_buffer(bvffer):
if bvffer:
word_freq = {}
bvffer = bvffer.lower()
for fh in ',.!?+-_':
bvffer = bvffer.replace(fh, " ")
words = bvffer.strip().split()
for word in words:
word_freq[word] = word_freq.get(word, 0) + 1
return word_freq
3.输出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)
1.
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)
总结
这次做的属实不好