要求0:作業要求位址:https://edu.cnblogs.com/campus/nenu/2016CS/homework/2110
要求1:git倉庫位址:https://git.coding.net/wishsama/wf.git
要求2:
PSP階段 | 預計時間 | 實際時間 |
計劃 | 30 | 20 |
明确需求和其他相關因素,估計每段時間成本 | ||
開發 | 300 | 400 |
需求分析 | ||
生成設計文檔 | ||
設計複審(和同學稽核設計文檔) | ||
代碼規範(為目前的開發制定合适的規範 | ||
具體設計 | ||
具體編碼 | ||
代碼複審 | ||
測試(自測、修改代碼、送出修改) | ||
報告 | ||
事後總結 |
用split函數和正規表達式分割字元串計算詞頻,用正規表達式判斷詞是否合法
def processLine(line, wordCounts):
words=[]
words.extend(re.split('\W', line))
for word in words:
if isLegal(word):
if word in wordCounts:
wordCounts[word] += 1
else:
wordCounts[word] = 1
return wordCounts
def isLegal(word):
return re.match("^[a-zA-Z][a-zA-Z0-9]*$", word)
參數為檔案夾名時先得到檔案夾中txt檔案名
def IsSubString(SubStrList, Str):
flag = True
for substr in SubStrList:
if not (substr in Str):
flag = False
return flag
def GetFileList(FindPath, FlagStr=["txt"]):
FileList = []
FileNames = os.listdir(FindPath)
if (len(FileNames) > 0):
for fn in FileNames:
if (len(FlagStr) > 0):
# 傳回指定類型的檔案名
if (IsSubString(FlagStr, fn)):
fullfilename = os.path.join(FindPath, fn)
FileList.append(fullfilename)
else:
# 預設直接傳回所有檔案名
fullfilename = os.path.join(FindPath, fn)
FileList.append(fullfilename)
# 對檔案名排序
if (len(FileList) > 0):
FileList.sort()
return FileList
argparse解析控制台參數
parser = argparse.ArgumentParser()
parser.add_argument('-c', default="", help=help)
parser.add_argument('-f', default="", help=help)
parser.add_argument('-n', default="", help=help)
args = parser.parse_args()
功能1:
功能2:
功能3:
心路曆程:
聽說python友善就用了,邊做邊學,學了些python的子產品。