Python計算一個專案中含有的程式碼行數
阿新 • • 發佈:2019-02-08
最近想要知道以前做過的project有多少行程式碼,因為檔案太多,直接手工數效率太低,於是編寫一個python程式用來計算一個project有多少程式碼行。
首先,在一個專案中,有很多子資料夾,子資料夾中又包含子資料夾,然後子子資料夾下面有很多java原始碼。我們首先獲取src檔案下的子資料夾,然後一直遞迴獲得子資料夾中的檔案和資料夾。若得到的是檔案,則讀取檔案,獲得該檔案的程式碼行數。
此程式碼測試的是java專案的原始碼,所以程式只要獲取java專案的src檔案的路徑即可,程式輸出的是此src資料夾下所有原始檔的程式碼行總和。
具體程式碼如下:
#encoding:utf-8 import os mainpath = 'D:\ProjectFiles\SIMServer\src' #mainpath = 'D:\ProjectFiles\SIMClient\src' def getlines(path): files = os.listdir(path) theline = 0 for file in files: #print(file) newpath = path+"\\"+file print(newpath) if os.path.isdir(newpath): theline += getlines(newpath) if os.path.isfile(newpath): data = open(newpath) num = len(data.readlines()); theline += num return theline if __name__ == '__main__': lines = getlines(mainpath) print(lines)