# 希望不久的未来能与更好的自己碰面
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)

统计当前代码量(以十万为标准)相关推荐

  1. git统计提交代码量

    统计用户提交的代码量 在idea的终端执行(使用英文单引号和双引号): git log --author=xxxxx --since='2023-01-18 00:00:00' --until='20 ...

  2. Android Studio统计项目代码量

    写完项目之后想知道自己写了多少行代码,毕竟代码敲了这么久,敲了多少行代码自己都不知道,我用的是Android  studio 开发工具,他有个插件Statistic提供这个功能 首先点击FIle  , ...

  3. day28:检测磁盘io|自定义时段查看tomcat 日记|打印城市名字|代码上线|统计网站并发量...

    2019独角兽企业重金招聘Python工程师标准>>> 1.有一台阿里云的机器,接到反映说服务器的磁盘 io 很高,登录服务器查看,并没有发现问题,怀疑是间歇性的,看到造成磁盘 io ...

  4. 用StatSVN统计SVN服务器项目的代码量

    用StatSVN统计SVN服务器项目的代码量 下载并安装SVN统计工具StatSVN 1)下载地址:sourceforge.net/projects/statsvn/ 2)解压压缩包,到一个目录,如D ...

  5. cd返回上一 git_git统计代码量脚本

    在工作中,我想统计各开发人员,在一定日期范围内的编码情况,故有了此脚本. 一.先贴图,看看效果: 此图中,用"开发者姓名"代替了实际项目中git的账号名称,输出结果按提交次数倒序输 ...

  6. Git命令按人统计提交次数和代码量

    统计个人的代码量 git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git lo ...

  7. 统计代码行数_推荐一波代码量、行数、提交量、作者等全维度统计神器

    背景 代码各种维度的统计在有些时候是很重要的,这里总结一些常用的牛逼的代码统计工具,着重介绍了个人使用的 Statistic 插件.但是如果你是想统计团队维度的数据,推荐后面介绍的 git_stats ...

  8. 【git学习】统计git项目某user的代码量

    查看自己的代码量:(直接awk编程) git log --author="username" --pretty=tformat: --numstat | awk '{ add += ...

  9. [other] 代码量代码复杂度统计-lizard

    [other] 代码量代码复杂度统计-lizard [other] 代码量代码复杂度统计-lizard lizard的可以用来统计下面的一些数据 不包含代码注释的代码行数 CCN 代码的复杂度,也就是 ...

最新文章

  1. 科学计算工具NumPy(1):ndarray的创建于数据类型
  2. LOJ #6280. 数列分块入门 4-分块(区间加法、区间求和)
  3. 整理一些完全免费开放的API接口
  4. C#通用类库--短信猫操作类1(原始AT命令)
  5. find和grep命令合集
  6. C导出接口与C++导出接口对比
  7. mysql利用树建立索引_MYSQL(一)——-为什么使用B+树或者B-树做为索引结构? – 算法网...
  8. smartadmin mysql_smart-admin/README.md at master · Rainforestor/smart-admin · GitHub
  9. hibernate笔记(三)
  10. ReiBoot(iOS系统修复工具)v6.9.5.0官方版
  11. PowerPoint储存此文件时发生错误 出现错误的问题解决方法
  12. Linux下驱动开发
  13. CSS 多列等高的几种实现方式
  14. 阿里员工内部常用免费工具包
  15. langtj牌子的机械键盘关闭闪光灯
  16. MAC下安装ElasticSearch(官网下载安装包)
  17. 尚硅谷尚品汇_后台管理项目
  18. 笔记本更换内存条图解步骤
  19. FXOS8700CQ 6轴传感器的介绍与调试
  20. 女科学家 编织计算机,来自女计算机科学家的光彩——MSTCers对话图灵奖获得者Barbara Liskov...

热门文章

  1. ellesse 发布2019秋冬系列主题广告大片“FOR THE WIN”
  2. Ettercap详细参数
  3. 那些不得不说的Android App专项测试必备命令,你值得拥有!
  4. ELK-日志分析系统
  5. Django中的app
  6. C语言GUI编程之数字记忆游戏——项目目录结构和初步的窗口布局
  7. vue项目打包后 修改配置
  8. Vue之父传子,清晰易懂。
  9. java list分批
  10. 如何用意念获取附近美女的手机号码