统计当前代码量(以十万为标准)
# 希望不久的未来能与更好的自己碰面
import easygui as g
import osdef show_result(start_dir):lines=0total=0text=''for i in source_list:lines=source_list[i]total += linestext +='[%s]源文件%s个。源代码%d行\n' %(i,file_list[i],lines)title='统计结果'msg=f'您目前共累计编写了{total}行代码,完成进度:{total/1000}\n离10万行代码还差{100000-total}行,请继续努力'g.textbox(msg,title,text)def calc_code(file_name):#由于传入是each_file 所以这里表示每个文件lines=0with open(file_name,encoding='utf-8') as f: #打开每个文件print(f'正在分析文件:{file_name}')#分析每个文件名try:for each_line in f:#遍历每个文件的每一行lines +=1 #一行,lines就加一except UnicodeDecodeError:pass#不可避免会遇到格式不兼容的文件,这里忽略掉return linesdef search_file(start_dir):os.chdir(start_dir)#将start_dir设置为当前工作目录for each_file in os.listdir(os.curdir):#遍历所有文件,os.curdir都是用于获取当前执行python文件的文件夹ext = os.path.splitext(each_file)[1]#所有文件的拓展名if ext in target:#检验多个拓展名lines=calc_code(each_file)#统计每个文件的行数,返回的是每种类型的行数记为lines#还记得异常的用法吗?如果字典中不存,抛出KetError,则添加字典键#统计文件数try:file_list[ext] +=1 #通过值的数,来算有多少个文件except KeyError:#file_list[ext]=1 就是创建了一个键为ext,值为1的字典#一开始 file_list值为空,所以必定报错,此时,设它的值为1,相当于赋值file_list[ext]=1#统计源代码行数#相同的源文件,所有lines叠加try:source_list[ext]+=linesexcept KeyError:source_list[ext]=lines#这个if判断是确保能遍历当前路径的所有文件夹
#如果缺少了这个,由于pycharm community文件夹下的第一个文件夹bin没有任何源文件,所以输出0
#即不会自动遍历该路径的所有文件夹,只遍历第一个文件夹if os.path.isdir(each_file):#判断是否为路径search_file(each_file)#递归调用os.chdir(os.pardir)#递归调用后切记返回上一层目录(不然就是一个文件夹走到底,)
target=['.c','.cpp','.py','.cc','.java','.pas','.asm']
file_list={}
source_list={}g.msgbox('请打开您存放所有代码的文件夹。。。。。','统计代码量')
path=g.diropenbox('请选择您的代码库')#选择了路径,在后面就指定为工作目录search_file(path)
show_result(path)
统计当前代码量(以十万为标准)相关推荐
- git统计提交代码量
统计用户提交的代码量 在idea的终端执行(使用英文单引号和双引号): git log --author=xxxxx --since='2023-01-18 00:00:00' --until='20 ...
- Android Studio统计项目代码量
写完项目之后想知道自己写了多少行代码,毕竟代码敲了这么久,敲了多少行代码自己都不知道,我用的是Android studio 开发工具,他有个插件Statistic提供这个功能 首先点击FIle , ...
- day28:检测磁盘io|自定义时段查看tomcat 日记|打印城市名字|代码上线|统计网站并发量...
2019独角兽企业重金招聘Python工程师标准>>> 1.有一台阿里云的机器,接到反映说服务器的磁盘 io 很高,登录服务器查看,并没有发现问题,怀疑是间歇性的,看到造成磁盘 io ...
- 用StatSVN统计SVN服务器项目的代码量
用StatSVN统计SVN服务器项目的代码量 下载并安装SVN统计工具StatSVN 1)下载地址:sourceforge.net/projects/statsvn/ 2)解压压缩包,到一个目录,如D ...
- cd返回上一 git_git统计代码量脚本
在工作中,我想统计各开发人员,在一定日期范围内的编码情况,故有了此脚本. 一.先贴图,看看效果: 此图中,用"开发者姓名"代替了实际项目中git的账号名称,输出结果按提交次数倒序输 ...
- Git命令按人统计提交次数和代码量
统计个人的代码量 git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git lo ...
- 统计代码行数_推荐一波代码量、行数、提交量、作者等全维度统计神器
背景 代码各种维度的统计在有些时候是很重要的,这里总结一些常用的牛逼的代码统计工具,着重介绍了个人使用的 Statistic 插件.但是如果你是想统计团队维度的数据,推荐后面介绍的 git_stats ...
- 【git学习】统计git项目某user的代码量
查看自己的代码量:(直接awk编程) git log --author="username" --pretty=tformat: --numstat | awk '{ add += ...
- [other] 代码量代码复杂度统计-lizard
[other] 代码量代码复杂度统计-lizard [other] 代码量代码复杂度统计-lizard lizard的可以用来统计下面的一些数据 不包含代码注释的代码行数 CCN 代码的复杂度,也就是 ...
最新文章
- 科学计算工具NumPy(1):ndarray的创建于数据类型
- LOJ #6280. 数列分块入门 4-分块(区间加法、区间求和)
- 整理一些完全免费开放的API接口
- C#通用类库--短信猫操作类1(原始AT命令)
- find和grep命令合集
- C导出接口与C++导出接口对比
- mysql利用树建立索引_MYSQL(一)——-为什么使用B+树或者B-树做为索引结构? – 算法网...
- smartadmin mysql_smart-admin/README.md at master · Rainforestor/smart-admin · GitHub
- hibernate笔记(三)
- ReiBoot(iOS系统修复工具)v6.9.5.0官方版
- PowerPoint储存此文件时发生错误 出现错误的问题解决方法
- Linux下驱动开发
- CSS 多列等高的几种实现方式
- 阿里员工内部常用免费工具包
- langtj牌子的机械键盘关闭闪光灯
- MAC下安装ElasticSearch(官网下载安装包)
- 尚硅谷尚品汇_后台管理项目
- 笔记本更换内存条图解步骤
- FXOS8700CQ 6轴传感器的介绍与调试
- 女科学家 编织计算机,来自女计算机科学家的光彩——MSTCers对话图灵奖获得者Barbara Liskov...