**分析:
1.匯入模組
from string import punctuation2.讀取檔案
def3.處理緩衝區,將字母全部轉換為小寫,以空格分隔單詞,將重複詞彙存入字典process_file(dst):
try:
f = open(dst,'r'
)
except
ioerror as s:
(s)
return
none
try:
bvffer =f.read()
except
:
print ("
read file error!")
return
none
f.close()
return bvffer
def4.輸出重複率前十的詞彙process_buffer(bvffer):
ifbvffer:
word_freq ={}
#下面新增處理緩衝區 bvffer**,統計每個單詞的頻率,存放在字典word_freq
bvffer =bvffer.lower()
#將文件中的全部字母改為小寫,防止大小寫混淆
words =bvffer.strip().split()
#以空格分割詞彙
for word in
words:
word_freq[word] = word_freq.get(word,0)+1
#將重複詞彙存到字典裡
return word_freq
def5.執行output_result(word_freq):
ifword_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)
小檔案:
效能分析:
共執行3219次,耗時0.004秒
總結:
作業要求 20180925 3 效能分析
本次作業要求參見 由於上次作業沒有實現功能4,具體的 還在做,在接下來的時間如果實現功能4,會補寫功能4的效能分析。在對自己的已實現功能效能分析後,對喬靜玉同學程式的功能4進行了效能分析 以下是我對自己上次實現的功能的進行的效能分析,以此證明我認真學習了使用ptime程式進行效能分析。要求0 用pt...
第三週作業(3) 詞頻統計 效能分析
效能分析作業具體要求如下 一 要求 以 戰爭與和平 作為輸入檔案,重讀向由檔案系統讀入。次數時間 第一次33.972s 第二次35.884s 第三次34.393s 平均時間 通過使用 ptime.exe測試執行時間發現自己的 執行具體有多慢,我猜測程式的瓶頸是單詞從檔案中讀取。file fp fp ...
氣泡排序與查重 案列分析
現有乙個長度為10的陣列,陣列中的每個元素為0 1000的隨機數字,現請將此陣列按公升序排列並列印在頁面上,且不能有重複數字。題目分析 檢視題目,我們發現題目有如下幾個個要求 但是還有乙個隱藏要求。因為進行去重操作後,陣列的長度有可能會減少。由於題目要求輸出長度為10的陣列。所以我們要在最後進行最後...