首页 > 其他分享 >计数项目下的代码行数

计数项目下的代码行数

时间:2022-09-30 20:11:42浏览次数:52  
标签:count __ 项目 代码 计数 path line sum dir

给出工程路径、指定代码类型,计算总共有多少行代码。

以下代码的原理是,递归搜索文件夹下的源码文件,然后统计该文件有多少行,然后累加。

# -*- coding: utf-8 -*-
# @Author : ZhaoKe
# @Time : 2021-10-08 18:08
import os


sum_line_count = 0


def count_file_line(path):
    # print("当前文件:", path)
    count = 1
    with open(path, 'r', encoding="utf_8_sig") as f:
        line = f.readline()
        while line:
            line = f.readline()
            count += 1
    return count


def count_dir_files_code_lines(path, category):
    global sum_line_count
    if os.path.isdir(path):
        for sub_dir in os.listdir(path):
            count_dir_files_code_lines(os.path.join(path, sub_dir), category)
    elif path[-len(category):] == category:
        # elif path[-2:] == "cs":
        sum_line_count += count_file_line(path)
        # print("当前计数:", sum_line_count)
    return sum_line_count


if __name__ == '__main__':
    line_count = count_dir_files_code_lines("E:/ExecuSimu/ExecuDS10/Assets/Scripts", 'cs')
    print(line_count)

以上代码以C#文件为例,文件后缀为"cs",能够给出正确结果。

标签:count,__,项目,代码,计数,path,line,sum,dir
From: https://www.cnblogs.com/zhaoke271828/p/16745983.html

相关文章

  • 《代码大全2》阅读笔记
    《代码大全》看完前面觉得有很多值得回味的地方,而且每部分之后作者还推荐了不少经典书籍。本书的思想管理软件项目的本质是管理复杂性。代码承载的是人与人之间的交流。在......
  • 代码大全1第二篇阅读笔记
    第二章:用隐喻更充分的理解软件开发1、当将软件的构建过程比作房屋的构建过程时,可以发现,仔细的准备是必要的,发生变动时最贵的成本是人的时间,而大型项目和小型项目之间也有差......
  • 代码大全1第一章阅读笔记
    第一章:欢迎进入软件构建的世界1、什么是软件构建?开发计算机软件已是一个复杂的过程,在过去的25年间,研究者已经认识到在软件开发过程中的各种不同活动。主要分为:定义问题,......
  • 《代码大全2》阅读笔记-9月part2
    四部分是语句,这是构建程序主体的基本构成单元,比变量又高了一级。这部分主要描述语句的组织结构,比如直线型、循环控制、条件控制、表驱动等。一般的方法比如条件循环等等,大......
  • 代码随想录day7 ● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和 ● 18. 四
    454.四数相加II暴力解法(超出时间限制):1classSolution{2public:3intfourSumCount(vector<int>&nums1,vector<int>&nums2,vector<int>&nums3,vecto......
  • 《代码大全2》阅读笔记-9月
    一部分是打好基础,本部分主要是软件构建前期的工作,以及对一些基本概念的介绍,具体包括如何选择编程语言和构建实践方法,如何理解软件开发的过程。软件开发本质上说就是工程,书......
  • 【Java】【入门】【Java环境部署与项目导入】
    【Java】【入门】【Java环境部署与项目导入】一、jdk安装1.1、点击exe文件,开始安装1.2、设置安装目录(记住此目录,在idea创建项目时需要使用)1.3、剩下的都是下一步二......
  • SpringBoot+Vue社区团购系统 团购商城管理系统 商城购物系统Java Vue MySQL数据库 远
    ......
  • 获取JAVA[WEB]项目相关路径的几种方法 _
    在jsp和class文件中调用的相对路径不同。在jsp里,根目录是WebRoot;在class文件中,根目录是WebRoot/WEB-INF/classes;当然你也可以用System.getProperty("user.dir")获取你工程......
  • 好的代码是优质资产、莫让代码成为负债
    作为葡萄城内训课程之一,由葡萄城内部IT支持系统项目经理Leo为我们带来的《整洁代码之道》将为大家详细讲述代码整洁对于软件质量的重要意义,同时会介绍一些方法,帮助大家识别......