python入门实践二:统计项目代码量

说明:个人练手python用。
操作系统:window10 x64
IDE:Pycharm 2017.2.2
Python版本:3.6.2

思路

1、递归获取指定路径下的全部指定后缀的文件
2、读取每个指定后缀文件中有效代码的行数
3、统计并展示

完整代码如下:

import os

# 定义外部变量,做全局记录用
code_lines = 0


# 定义函数
def get_lines_by_suffix(path, suffix):
    # 设置code_lines为全局变量
    global code_lines
    # 列出path下的文件和文件夹,不包括子文件和子文件夹
    file_list = os.listdir(path)
    # 遍历列出的文件及文件夹,如果是文件夹,递归查找,如果是文件,则统计代码行数
    for filename in file_list:
        # path和filename,共同组成查询出的某个文件或文件夹完整路径
        file_path = os.path.join(path, filename)
        # 如果是文件夹
        if os.path.isdir(file_path):
            # 递归查找
            get_lines_by_suffix(file_path, suffix)
        else: # 是文件
            # 判断后缀
            if file_path.split(".")[-1] == suffix:
                # 统计代码行数
                code_lines += get_lines(file_path)
                # 打印查看
                print(code_lines)
    # 递归查找完毕,返回全部代码条数
    return code_lines


# 定义函数,用于计算单个文件中的代码的函数
def get_lines(file):
    # 打开(连接)文件
    with open(file, encoding="utf-8") as f:
        # 获取读取到的行数,也即文件中代码的行数
        return len(f.readlines())

# 测试验证
code_lines = get_lines_by_suffix("C:\\Users\\cloud\\Desktop\\poi_word_demo\\poi_word", "java")
print(code_lines)

你可能感兴趣的:(python入门实践二:统计项目代码量)