Python脚本可以统计项目代码行数

将下列代码保存至py文件,然后命令行方式在console执行即可。

配置说明:

ROOT_PATH配置source目录,会自动递归统计所有文件代码行数总和。

INCLUDE_EMPTY_LINE:True时则将空行列入统计,否则空行不予统计。

 

#代码行数统计,可以递归目录
#2018/08/30

#python 2.7


import os

#########################Settings##################################
ROOT_PATH="D:\\SVN\\Src\\ngnix"
INCLUDE_EMPTY_LINE=False
###################################################################

def StatCodeLine(file_path,include_empty_line,code_line_cnt):
    count=code_line_cnt
    if os.path.isdir(file_path) :
        files=os.listdir(file_path)
        for file in files:
            tmp_path=os.path.join(file_path,file)
            #print tmp_path
            if not os.path.isdir(tmp_path):
                count=count+StatFileLine(tmp_path,include_empty_line)
            else:
                count=StatCodeLine(tmp_path,include_empty_line,count)
    else:
        count=count+StatFileLine(file_path,include_empty_line)
    return count

def StatFileLine(file_name,include_empty_line):
    count=0
    f=open(file_name,'r')
    while True:
        line=f.readline()
        if not line:
            break
        else:
            if True!=include_empty_line :
                if ""==line.strip() :
                    continue
            count=count+1
    f.close()
    return count

if __name__ == "__main__":
    StatCount=StatCodeLine(ROOT_PATH,INCLUDE_EMPTY_LINE,0)
    print "Total code line count : " + str(StatCount)

你可能感兴趣的:(Python)