要求0:做業要求地址:https://edu.cnblogs.com/campus/nenu/2016CS/homework/2110python
要求1:git倉庫地址:https://git.coding.net/wishsama/wf.gitgit
要求2:正則表達式
PSP階段 | 預計時間 | 實際時間 |
計劃 | 30 | 20 |
明確需求和其餘相關因素,估計每段時間成本 | 30 | 20 |
開發 | 300 | 400 |
需求分析 | 0 | 0 |
生成設計文檔 | 0 | 0 |
設計複審(和同窗審覈設計文檔) | 0 | 0 |
代碼規範(爲目前的開發制定合適的規範 | 0 | 0 |
具體設計 | 0 | 0 |
具體編碼 | 300 | 400 |
代碼複審 | 0 | 0 |
測試(自測、修改代碼、提交修改) | 20 | 30 |
報告 | 20 | 30 |
過後總結 | 20 | 30 |
用split函數和正則表達式分割字符串計算詞頻,用正則表達式判斷詞是否合法app
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:spa
功能3:.net
心路歷程:設計
據說python方便就用了,邊作邊學,學了些python的模塊。