Python编程 统计Java源文件代码行数,注释行数,空白行数

每次学习新的语言,就想重新实现一遍做过的课设=,=
这里实现的是"综合性实验 Java源代码分析程序"的第三部分
第二部分见:[Python编程]统计目录下Java源文件的关键字出现次数
原来的Java实现在这:
[Java]统计Java源文件代码行数,注释行数,空白行数

1.说明

在Java源程序中的行共有3种:

(1)代码行,可运行的Java源代码。例如:
int n = 10;
(2) 注释行,3种注释均可。例如:
 /**
  文档注释
 */

 /*
   多行注释
 */
 
 //单行注释
(3)空行,既无代码,也无注释;

2. 代码实现

根据第二部分的统计关键字稍作修改得到,
逻辑很清晰:
1.读取一个文件,将文件分割为多行存在列表lines中
2.当前总行数+len(lines)
3.对lines使用line迭代,如果line==’’ 空白行数+1,继续下一行
4.如果line匹配为注释行 注释行数+1
5.否则,被匹配为代码行,代码行+1

row_count = blank_count = note_count = code_count = 0


def code_analyze(filepath):
    with open(filepath) as file:
        lines = file.read().strip().split('\n')  # 一次性读取一个文件,并用换行分割每一行
        global row_count, blank_count, note_count, code_count  # 只是复习全局变量用法,不推荐
        row_count += len(lines)
        for line in lines:
            if line == '':
                blank_count += 1
                continue
            noteline = re.match(r'^/(.*)|^\*(.*)|(.*)\*/$', line.strip(), flags=0)  # 匹配以/、/*、*开头 或*/结尾的注释行
            if noteline is None:  # 匹配为代码行
                code_count += 1
            else:
                note_count += 1

3.测试

root = r'E:\java\util'
search(root)
for f in filelist: code_analyze(f)
print("源程序总行数:", row_count)
print("代码行数:", code_count, ",占", round(code_count / row_count*100, 2), "%")
print("注释行数:", note_count, ",占", round(note_count / row_count*100,2), "%")
print("空白行数:", blank_count, ",占", round(blank_count / row_count*100,2), "%")

对util文件夹进行测试(测试文档下载地址:百度网盘
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
代码统计工具使用说明 代码统计工具用Java语言实现,可以对C\C++、Java的源代码统计统计结果包括:总数、空数、注释数和代码数,统计结果可以以表格的形式显示给用户或另存为文件。 一 执环境: 操作系统:WindowsNT/2000; 执环境:JDK1.3。 二 安装: 1)将code.zip解压缩; 3)设置环境变量: 在 开始—〉设置—〉控制面板—〉系统—〉高级—〉环境变量 中设置环境变量: PATH=[code.zip的安装目录]\jre\bin CLASSPATH=[code.zip的安装目录]\class 三 运: 直接运(双击)在源程序[code.zip的安装目录]\class目录下的CodeStatistic.bat 批处理文件。 〈注〉:如果程序不能正常运,有可能是前面系统环境变量PATH、CLASSPATH设置的问题,请检查添加的路径是否正确,确定正确还不能正常运,请注销当前用户后再启动程序。 四 使用方法: 1. 代码统计工具开始工作后,点击窗口下方的“添加”按钮会以对话框的形式浏览硬盘目录,现在可以添加要进统计的C\C++、Java源程序, 2. 选定文件后,会在代码统计工具主界面的列表框中显示已选定的文件名和路径; 3. 点击“添加”按钮继续添加需统计的文件或点击“删除”按钮删除已选文件; 4. 需统计的文件选定后,点击“统计”按钮开始统计,弹出“代码统计结果”窗口以表格形式显示统计结果; 5. 在“代码统计结果” 窗口中可选择将统计结果另存为文件形式; 6. 点击“关闭”按钮关闭“代码统计结果” 窗口,回到主窗口; 7. 继续其它统计活动或点击“退出”按钮退出代码统计工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值