课后作业3
2017/********7021
包永安
def process_file(dst): # 讀文件到緩沖區
try: # 打開文件
x = open(dst,"r")
except IOError as s:
print (s)
return None
try: # 讀文件到緩沖區
bvffer = x.read()
except:
print ('Read File Error!')
return None
x.close()
return bvffer
def process_buffer(bvffer):
if bvffer:
word_freq = {}
# 下面添加處理緩沖區 bvffer代碼,統計每個單詞的頻率,存放在字典word_freq
for ch in'"!?;,."':
bvffer = bvffer.lower().replace(ch,"")
word = bvffer.strip().split()
for word in word:
word_freq[word] = word_freq.get(word,0)+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]: # 輸出 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)
?
前十個單詞出現的次數?
出現最多和時間最長
通過這次學習,對它有了更好的了解,上網可以查找更多的學習資料,以更好的學習。
?
轉載于:https://www.cnblogs.com/baoyongan/p/10610204.html
總結
- 上一篇: 数字人民币已开始试行 支付宝微信措手不及
- 下一篇: [HNOI2016]最小公倍数