Python 统计代码量
#统计代码量,显示离10W行代码还有多远
#递归搜索各个文件夹
#显示各个类型的源文件和源代码数量
#显示总行数与百分比 import os
import easygui as g #查找文件
def find_file(file_path,target):
os.chdir(file_path)
all_files=os.listdir(os.curdir)
for each in all_files:
#print(each)
fext=os.path.splitext(each)[1]
if fext in target:
lines=calc_code(each) #统计行数
#print("文件%s的代码行数是%d"%(each,lines))
#统计文件数
try:
file_list[fext]+=1
except KeyError:
file_list[fext]=1
#统计源代码行数
try:
source_list[fext] += lines
#print(source_list[fext])
except KeyError:
source_list[fext] = lines
#print(source_list[fext]) if os.path.isdir(each):
find_file(each,target) # 递归调用
os.chdir(os.pardir) #返回上层目录 #统计行数
def calc_code(file_name):
lines=0
with open(file_name,encoding='gb18030',errors='ignore') as f:
print("正在分析文件%s..."%file_name)
try:
for eachline in f:
lines += 1
except UnicodeDecodeError:
pass
print("文件%s分析完毕,包含代码行%d." %(file_name,lines))
return lines #显示结果
def show_result(start_dir):
lines=0
total=0
text='' for i in source_list:
lines=source_list[i]
total+=lines
text+='%s源文件%d个,源代码%d行\n'%(i,file_list[i],lines ) title='统计结果'
msg='目前代码行数:%d\n完成进度:%.2f%%\n距离十万行代码还差%d行'%(total,total/1000,100000-total)
g.msgbox(msg,title,text) #file_path=input("要查找的路径; ") # C:\\Users\\54353\\PycharmProjects\\untitled
target=['.py','.java','.c','.cc','.cpp'] #定义需要查找的源文件类型
file_list={}
source_list={}
g.msgbox('请打开您的文件夹','统计代码量')
path=g.diropenbox('请选择您的代码库:') find_file(path,target)
show_result(path)
Python 统计代码量的更多相关文章
- Git 常用命令和统计代码量
摘要 分享Git日常操作中常用的命令,分享如何统计在项目中贡献的代码量. 下面列出Git bash常用命令. 1. git clone **(项目地址) 克隆一个git项目到本地,将git项目拉取到本 ...
- git 统计代码量 shell脚本
#!/bin/bash # 统计代码量 # 使用方法: sh gitstat.sh "2017-11-01" "2017-11-30" "JamKon ...
- Python 统计代码行
正在学习 Python, 做了个统计代码行的功能, 参考了网上很多前辈的帖子,添加了感觉还是比较实用的功能, 只是windows下测试了,而且代码文件编码形式是 utf-8的. 如果使用其它编码形式的 ...
- Python入门之用Python统计代码行
Pycharm每天都要写很多代码,如何统计每天的代码行数呢?作为一个目标十万行的coder,要想想办法! 题目:有个目录,里面是你自己写过的程序,统计一下你写过多少行代码.包括空行和注释,但是要分别列 ...
- 利用python统计代码行
参加光荣之路测试开发班已三月有余,吴总上课也总问“ 咱们的课上了这么多次了大家实践了多少行代码了?”.这里是一个一脸懵逼的表情.该怎么统计呢?一个个文件数当然不可取,能用代码解决的事咱们坚决不动手.最 ...
- python统计代码行数
以前写了一个java的统计代码行数的小程序,最近在看python,于是就参考前辈的代码,写了一个统计文件夹下面各种程序的代码的小程序,这里贴出来供大家参考 参考链接: https://gist.git ...
- window7下statsvn统计代码量
下载statsvn:http://www.statsvn.org/ 将下载后的statsvn.jar放到d:\svn目录下; 打开cmd窗口切换到需要统计代码的项目目录如:d:\project\web ...
- python统计代码总行数(代码行、空行、注释行)
我们在工作或学习代码的过程中,经常会想知道自己写了多少行代码,今天在项目环境写了个脚本统计了项目代码的数量. 功能: 1.统计代码总行数 2.统计空行数 3.统计注释行数 # coding=utf-8 ...
- 007-使用python统计代码行数,空行以及注释
# 自己写过的程序,统计一下你写过多少行代码.包括空行和注释,但是要分别列出来 1.打开文件方法 1.1 以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符 f ...
随机推荐
- 切换tab页
//切换Tab页 $('#tt').tabs({ border:false, onSelect:function(title){ ...
- SparkR(R on Spark)编程指南 含 dataframe操作
SparkR(R on Spark)编程指南 Spark 2015-06-09 28155 1评论 下载为PDF 为什么不允许复制 关注iteblog_hadoop公众号,并在这里评论区留言 ...
- 初学Android的几个常见问题
1.关于开发环境搭配,可以到网站http://developer.android.com/sdk/index.html下载adt-bundle-windows-x86-20131030.zip,里面包 ...
- Linux进程间通信之管道(pipe)、命名管道(FIFO)与信号(Signal)
整理自网络 Unix IPC包括:管道(pipe).命名管道(FIFO)与信号(Signal) 管道(pipe) 管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道 ...
- Python之生成二面体群元素
from sympy.combinatorics.named_groups import DihedralGroup from collections import Counter n = 12 G ...
- 【JavaScript学习】JavaScript对象创建
1.最简单的方法,创建一个对象,然后添加属性 var person = new Object(); person.age = 23; person.name = "David"; ...
- java中String new和直接赋值的区别
Java中String new和直接赋值的区别 对于字符串:其对象的引用都是存储在栈中的,如果是编译期已经创建好(直接用双引号定义的)的就存储在常量池中,如果是运行期(new出来的)才 ...
- 第三百六十节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本概念
第三百六十节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本概念 elasticsearch的基本概念 1.集群:一个或者多个节点组织在一起 2.节点 ...
- 多媒体开发之h264中的sps---sps信息提取之帧率
------------------------------author:pkf -----------------------------------------time:2015-8-20 --- ...
- [mysql]ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value
From: http://m.blog.csdn.net/blog/langkeziju/13511411 我的MySQL版本为5.6.14版本,是二进制包安装的(虽然是二进制包安装的,但是以下问题同 ...