[code]统计项目代码量

功能
统计一个文件夹中所有指定后缀名文件中的数据行数

应用场景
统计项目代码行数

代码

# coding=utf-8

import os

def get_line_counts(path, file_types, include_blank_line=True):
    """
    path:str:文件夹全路径
    file_types:tuple or list:要统计的文件后缀列表:如['py', 'cpp', 'java']
    include_blank_line:bool:空行是否也计入总的统计行数中
    """
    total_lines = 0
    for parent, _, filenames in os.walk(path):  # 遍历path下的所有子文件夹
        for filename in filenames:  # 遍历文件夹下的所有文件
            file_type = filename.split('.')[-1]  # 获取文件后缀名
            if file_type in file_types:
                file_full_path = os.path.join(parent, filename)  # 获取文件的全路径
                if not include_blank_line:
                    for line in open(file_full_path).readlines():
                        if len(line.strip()) != 0:
                            total_lines += 1
                else:
                    total_lines += len(open(file_full_path).readlines())

    return total_lines

用例

line_count = get_line_counts(r"C:\Users\Administrator\Desktop\my_python_tools", ['py'])
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,881评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,117评论 25 708
  • 立了秋的小城,清晨微微有些凉意。这应该是这座小城最舒服、怡然的时节了。 一碗热气腾腾的米线,唤醒了小城里正在酣睡的...
    锦瑟初浅阅读 712评论 4 5
  • 49. 留下你的是风景 绊住你的是曾经 50. 我们会一直得到 直到收获失去 51. 你笑得那样甜 像阳光吻在我的脸上
    年轻的风阅读 215评论 7 5