(1)讀檔案到緩衝區 process_file(dst)
def process_file(dst):(2)統計緩衝區的裡每個單詞的頻率,放入try:
f = open(dst, "r"
) #開啟檔案
except ioerror
ass:
print(s)
return
none
try:
bvffer =f.read() #讀檔案到緩衝區
except:
print(
'read file error!')
return
none
f.close()
return bvffer
process_buffer(bvffer)
def(3)輸出詞頻前十的單詞 output_result(word_freq)process_buffer(bvffer):
ifbvffer:
word_freq ={}
#下面新增處理緩衝區 bvffer**,統計每個單詞的頻率,存放在字典word_freq
for ch in
'「『!;,.?」
': #
把換行都換為空
bvffer = bvffer.lower().replace(ch, "")
words =bvffer.strip().split()
for word in
words:
word_freq[word] = word_freq.get(word, 0) + 1 #
給單詞計數
return word_freq
def output_result(word_freq):(4)主函式對之前的函式進行整合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二、**風格說明python**在每行末尾不用加「;」__name__ == "
__main__":
path = "
e:\gone_with_the_wind.txt
"bvffer =process_file(path)
word_freq =process_buffer(bvffer)
output_result(word_freq)
例如:
path = "(2)執行次數最多的**
(3)嘗試改進程式**
將
for ch in改為'「『!;,.?」':
bvffer = bvffer.replace(ch, "
")
bvffer =bvffer.lower()視覺化操作根據執行次數排序方式分析命令:for ch in
'「『!;,.?」':
bvffer = bvffer.replace(ch, "
")
根據占用時間排序方式分析命令:
軟工作業3 詞頻統計
pycharm2018 python3.7 def process file dst 讀檔案到緩衝區 try 開啟檔案 f open dst,r encoding gb2312 dst為文字的目錄路徑 except ioerror as s print s return none try 讀檔案到緩...
詞頻統計作業 第一次軟工作業
只是一些簡單感想。之前沒有學過c 和c 老師上來就這麼自主地布置了乙個這樣的作業確實有點出乎意料。之前團隊作業要求採訪學長,學長的印象是每週要花10h以上在軟工,均1000行 這回寫第一次作業,讓沒有基礎的我體會到了學長的話。這個作業花了大約15h的時間。其中除錯占用了12h。查閱了很多資料,還是覺...
詞頻統計實現方法大致思路(軟工個人作業一)
基本功能 1.統計檔案的字元數 2.統計檔案的單詞總數 3.統計檔案的總行數 4.統計檔案中各單詞的出現次數 5.對給定資料夾及其遞迴子資料夾下的所有檔案進行統計 6.統計兩個單詞 片語 在一起的頻率,輸出頻率最高的前10個。7.在linux系統下,進行效能分析,過程寫到blog中 附加題 資料結構...