1. 程式人生 > >Python計算一個專案中含有的程式碼行數

Python計算一個專案中含有的程式碼行數

最近想要知道以前做過的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)