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)

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

推荐阅读更多精彩内容

  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,478评论 9 467
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,203评论 2 33
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,845评论 18 139
  • 前言 Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打...
    依依玖玥阅读 3,595评论 6 37
  • 在这个浮躁的世界,时间显得隐秘而匆匆,在你不知道的某个时间段,就带走了,你曾经认为最重要的东西,是感情,友情,爱情...
    大娇娇娇娇阅读 159评论 0 0