代码量简单统计

代码量简单统计

def count_code(file_path):  # 单文件代码统计
    count=0
    tag=False
    with open(file_path, 'r', encoding='utf-8') as f:
        for line in f:
            if tag and line.startswith('"""') or line.startswith("'''"):
                tag=False
            if tag and  not line.startswith('"""') or line.startswith("'''"):
                continue
            if line.startswith("#"):
                continue
            if line.startswith('\n'):
                continue
            count+=1
        return count

# 所有代码统计量
def count_file_code(top_packge):
    count_sum = 0
    # 针对文件做处理
    if os.path.isfile(top_packge):
        count=count_code(top_packge)
        return count

    # 针对文件夹做处理

    res = os.walk(top_packge)  # 只针对文件夹
    for dir, _, files in res:
        # print(files)
        for file in files:
            file_path = os.path.join(dir, file)
            # print(file_path)
            if file_path.endswith('.py'):
            # print(file_path)
                count=count_code(file_path)   # 单文件代码统计
                count_sum += count
    return count_sum

top=r'G:\Python代码日常\第一阶段\1阶段\模块\md.py'
count_sum=count_file_code(top)
print(f'{top}文件夹统计代码量为:{count_sum}')
posted on 2019-10-05 23:40  jueyuanfengsheng  阅读(783)  评论(0编辑  收藏  举报