【python】统计代码行数 | 统计当前文件夹里所有代码文件的行数

news2025/1/13 9:52:05

背景

写了一堆.cs文件
想看看一共写了多少行

代码

import os
import chardet

# Check if a file has the given extension
def has_extension(file, extension):
    return os.path.splitext(file)[1] == extension

# Count the number of non-empty lines in a file
def count_lines_of_code(file):
    with open(file, 'rb') as f:
        result = chardet.detect(f.read())
        encoding = result['encoding']
    with open(file, 'r', encoding=encoding) as f:
        lines = [line.strip() for line in f if line.strip()]
        return len(lines)

# Get all files with the given extension in the current directory
def get_files_with_extension(extension):
    files = [file for file in os.listdir('.') if os.path.isfile(file) and has_extension(file, extension)]
    return files

if __name__ == '__main__':
    files = get_files_with_extension('.cs')
    total_lines = 0
    for file in files:
        lines = count_lines_of_code(file)
        print(f'{file}: {lines} lines')
        total_lines += lines
    print(f'Total lines of code in .cs files: {total_lines}')

运行结果

在这里插入图片描述

好用的话请点个赞吧QWQ

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/444195.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

拍照时脸背光怎么办?拍摄的逆光人像照如何修复才能更好看?

拍摄逆光人像会产生迷人的轮廓光,发丝看起来会很美丽,并可能拍到好看的星芒,但是!直接拍摄很可能经常会对不上焦,或者会拍出大黑脸,这时就需要很多技巧啦。 完成一张好的逆光照片需要前期拍摄和后期修图相…

生成式模型与辨别式模型

分类模型可以分为两大类:生成式模型与辨别式模型。本文解释了这两种模型类型之间的区别,并讨论了每种方法的优缺点。 辨别式模型 辨别式模型是一种能够学习输入数据和输出标签之间关系的模型,它通过学习输入数据的特征来预测输出标签。在分类问题中&…

Revit相关问题:符号线,转转问题,生成三维视图

一、Revit符号线如何画粗一些?如何自定义符号线子类别? 1、Revit在族里面符号线的粗细、显示颜色、显示线型为符号线的子类别控制! 你可以通过,管理选项卡新建子类别,然后在画符号线的时候应用该子类别! 新建符号线对象样式 应用子类别 二、Revit三维模…

YOLOv7+单目跟踪

YOLOv7单目跟踪 1. 目标跟踪2. 测距模块2.1 设置测距模块2.2 添加测距 3. 实验效果 相关链接 1. YOLOv5单目测距(python) 2. YOLOv7单目测距(python) 3. 具体效果已在Bilibili发布,点击跳转 1. 目标跟踪 用yolov7实现…

Moviepy模块之视频添加图片水印

文章目录 前言视频添加图片水印1.引入库2.加载视频文件3.加载水印图片4.缩放水印图片大小5.设置水印的位置5.1 相对于视频的左上角5.2 相对于视频的左下角5.3 相对于视频的右上角5.4 相对于视频的右下角5.5 相对于视频的左中位置5.6 相对于视频的正中位置5.7 相对于视频的右中位…

【设计模式】23种设计模式之结构型模式

一、适配器设计模式 1、是什么? 1、适配器模式将某个类的接口转换成客户端期望的另一个接口表示,主要的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作 2、适配器模式属于结构型模式 3、主要分为三类:类适配…

【机器学习】EM原理和K-mean聚类

一、教程说明 EM算法就是expect maxmise算法,就是“期望最大化”的缩写。本篇首先提出:1 什么是期望? 2 期望最大化是个啥意思?k-mean聚类中如何用EM算法? 所涉及的概念: 期望 期望的加权平均理解 概率…

工业网关开发:IxCahriot测试吞吐量

吞吐量测试可以确定被测试设备或被测试系统在不丢弃包的情况下,设备或系统能够接受并转发的最大有效数据。在测试中以一定的速率发送一定数量的帧,并计算待测设备接收的帧,如果发送的帧与接受的帧数量相等,那么就将发送速率提高并…

ASEMI代理ADA4940-1ACPZ-R7原装ADI车规级ADA4940-1ACPZ-R7

编辑:ll ASEMI代理ADA4940-1ACPZ-R7原装ADI车规级ADA4940-1ACPZ-R7 型号:ADA4940-1ACPZ-R7 品牌:ADI/亚德诺 封装:LFCSP-16 批号:2023 引脚数量:16 安装类型:表面贴装型 ADA4940-1ACPZ-…

ChatGPT 和 Elasticsearch:OpenAI 遇见私有数据

作者:Jeff Vestal 结合 Elasticsearch 的搜索相关性和 OpenAI 的 ChatGPT 的问答功能来查询你的数据。 在此博客中,你将了解如何使用 Elasticsearch 将 ChatGPT 连接到专有数据存储,并为你的数据构建问答功能。 什么是聊天 GPT? …

Baumer工业相机堡盟工业相机如何联合BGAPISDK和OpenCVSharp实现图像的对数Log变换算法增强(C#)

Baumer工业相机堡盟工业相机如何联合BGAPISDK和OpenCVSharp实现图像的对数Log变换算法增强(C#) Baumer工业相机Baumer工业相机使用图像算法增加图像的技术背景Baumer工业相机通过BGAPI SDK联合OpenCV使用图像增强算法1.引用合适的类文件2.BGAPI SDK在图像…

ASEMI代理ADI亚德诺ADA4940-1ACPZ-R7车规级芯片

编辑-Z ADA4940-1ACPZ-R7芯片参数: 型号:ADA4940-1ACPZ-R7 −3 dB小信号带宽:260 MHz −3 dB大信号带宽:25 MHz 0.1dB平坦度的带宽:14.5 MHz 斜率:95 V/s 超速恢复时间:86 ns 输入电压噪…

【数据结构】堆的应用(堆排序的实现 + (向上/向下)建堆时间复杂度证明 + TopK问题(笔记总结))

👦个人主页:Weraphael ✍🏻作者简介:目前学习C和算法 ✈️专栏:数据结构 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&…

Redis高可用之3种集群方案对比

Redis集群方案使用建议: Redis cluster:除非是1000个节点以上的超大规模集群,优先考虑使用Redis clustercodis:旧项目如果仍在使用codis,可继续使用,但也推荐迁移到Redis clustertwemproxy:不建…

什么是数字化?企业为什么要数字化转型?

什么是数字化?企业为什么要数字化转型? 深度长文,4000字,融合了很多国内外专业期刊观点,一文讲清到底什么是企业数字化转型?心急的小伙伴可以先看目录: 关于定义——到底什么是“数字化转型”…

Ubuntu18.04通过一根网线与树莓派建立连接,远程操作树莓派,向树莓派传文件

文章目录 前言1 树莓派设置静态IP1.1 不能登录到树莓派的图形化界面1.2 可以登录到树莓派的图形化界面 2 PC端的ubuntu18.04设置静态ip地址2.1 不使用图形化界面操作2.2 使用图形化界面进行操作 3 Putty软件3 FileZilla软件 前言 本篇博客的应用场景,前提条件如下&a…

4.1.2串的存储结构

串的存储结构和线性表类似 串的顺序存储: 缺点就是长度不可变(也就是静态数组存储) 函数执行结束存储空间自动回收 需要使用free函数回收 串的顺序存储: 方案二的缺点: char[0]存储length,但是由于char的…

智能学习 | MATLAB实现FA-BP多输入单输出回归预测(萤火虫算法优化BP神经网络)

智能学习 | MATLAB实现FA-BP多输入单输出回归预测(萤火虫算法优化BP神经网络) 目录 智能学习 | MATLAB实现FA-BP多输入单输出回归预测(萤火虫算法优化BP神经网络)预测效果基本介绍程序设计参考资料预测效果 基本介绍 MATLAB实现FA-BP多输入单输出回归预测(萤火虫算法优化B…

基于铜锁构建Web在线加密工具库

基于铜锁构建Web在线加密工具库 搭建运行环境 实验⼿册中的实验都是以 docker 和 docker-compose 环境为主,基于 Ubuntu 20.04 容器镜像。 初始化项目 首先利用 IDE 创建一个 tongsuo_web 的空项目,接下来我们所有的文件都会创建在该项目中&#xff0…

学习系统编程No.19【进程间通信之控制进程】

引言: 北京时间:2023/4/13/8:00,早八人,早八魂,时间不怎么充足,磨磨引言刚好,学习Linux和Linux有关的系统级知识已经许久了,在不知不觉之中,发现自己已经更到了第19篇&a…