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)


posted @ 2014-04-22 10:50  liuwu265  阅读(655)  评论(0编辑  收藏  举报