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)


發佈了33 篇原創文章 · 獲贊 2 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章