軟工作業 3:個人編程
一、程序分析
def process_file(dst): # 讀文件到緩沖區
try: # 打開文件
f=open(dst,‘r‘)
except IOError as s:
print (s)
return None
try: # 讀文件到緩沖區
x=f.read()
except:
print ("Read File Error!")
return None
bvffer=x
return bvffer
def process_buffer(bvffer):
if bvffer:
word_freq = {} #新建一個空字典word_freq
# 下面添加處理緩沖區 bvffer代碼,統計每個單詞的頻率,存放在字典word_freq
for word in bvffer.split(): #.split()函數將bvffer切片
if word not in word_freq:
word_freq[word]=0
word_freq[word]+=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)
二、代碼風格說明
if/for/while一定要換行
例如:
if bvffer:
word_freq = {}
三、程序運行命令、運行結果截圖
四、性能分析結果及改進
執行時間最多的代碼:
執行次數最多的代碼:
軟工作業 3:個人編程