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)
執行次數最多的**,執行時間最長的**。
1由於個人技術原因,此次作業由他人指導完成。
2通過這次作業又複習了一遍正規表示式 (re模組)和string模組中的punctuation方法 。
3通過這次作業了解效能分析有什麼用,能做出簡單的效能分析。
4.學會了git建立分支和切換到新建分支的方法。
5.由於失誤將碼雲的master分支刪除。
詞頻統計及其效能分析
恢復內容開始 1 2 程式分析 1 開啟並讀取檔案 2 新增處理 bvffer 統計單詞的頻率,存放在word freq def process buffer bvffer if bvffer word freq 下面新增處理 bvffer 統計單詞的頻率,存放在word freq for item...
C 詞頻統計 效能分析
在鄒老師的效能分析的建議下對上次寫過的詞頻統計的程式進行分析改進。效能分析 個人很淺顯的認為就是程式的執行效率,的執行效率 1.vs 提供了自帶的分析工具 performance tool 效能分析 先看一下vs工具的自己介紹 診斷應該程式的效能問題 識別應用程式中最常見的高開銷方法。perform...
分析「詞頻統計「專案程序
目錄 功能需求 實現 psp功能需求 1.小檔案輸入 2.支援命令列輸入英文作品的檔名 3.支援命令列輸入儲存有英文作品檔案的目錄名,批量統計 4從控制台讀入英文單篇作品 實現 本次 實現了功能3。類名功能 void main string 主函式,呼叫其他函式實現基本功能 void sortmap...