【Python】代码行数统计
两级目录,可扩展为N级。
# Count the line of dir or file import os, fnmatch, fileinput def ChkFileType(lst):
tmp = lst
FileType = ['asm', 'c', 'cpp', 'h', 'ucf', 'v', 'java', 'm']
for filename in tmp:
flg = 1
for types in FileType:
if fnmatch.fnmatch(filename.lower(), "*."+types):
flg = 0
break
if (flg):
lst.remove(filename) def CountInsideFile(pathname):
if not os.path.exists(pathname):
print ("%s not exists." % pathname)
return -1
elif not os.path.isdir(pathname):
print ("%s not directory." % pathname)
return -1
# Get the files and check the type
lst = os.listdir(pathname)
ChkFileType(lst)
# build a tuple for fileinput
filegp = tuple(pathname+filename for filename in lst) total = 0
with fileinput.input(files=filegp) as fin:
for line in fin:
total += 1
# Pay attention to close
fileinput.close()
print (total, pathname)
return total if __name__ == "main":
desname = "count.txt"
En2Ch = {"compile":"编译原理",
"C":"C",
"C++":"C++",
"MIPS":"MIPS",
"NC4S":"NC4S",
"OS":"OS",
"pic":"计算机图形学",
"pattern":"模式识别",
"video":"视频标注",
"embed":"嵌入式",
"datastruct":"数据结构",
"database":"数据库",
"network":"网络",
"interface":"微机原理"}
# desname = sys.argv[1]
#if desname is None:
# desname = count.txt
basename = "E:\\python\\"
fin = open(basename+desname, "w") ParrentPath = basename+"code\\"
LstDir = os.listdir(ParrentPath)
print (LstDir) total = 0
for dirname in LstDir:
cnt = CountInsideFile(ParrentPath+dirname+"\\")
if cnt<0:
break
fin.write("%-12s %8d\n" % (dirname, cnt))
total += cnt
# write an blank line in the end
fin.write("%-12s %8d\n\n" % ("total", total))
fin.close()
【Python】代码行数统计的更多相关文章
- java代码行数统计工具类
package com.syl.demo.test; import java.io.*; /** * java代码行数统计工具类 * Created by 孙义朗 on 2017/11/17 0017 ...
- Python实现代码行数统计工具
我们经常想要统计项目的代码行数,但是如果想统计功能比较完善可能就不是那么简单了, 今天我们来看一下如何用python来实现一个代码行统计工具. 思路:首先获取所有文件,然后统计每个文件中代码的行数,最 ...
- 【转】VS 代码行数统计
[转自]http://www.cnblogs.com/JuneZhang/archive/2013/01/10/2854572.html VS用正则表达式统计代码行数 利用VS2010的查找功能和正则 ...
- Android Studio代码行数统计插件Statistics
Android Studio 是没有提提供统计代码全部行数的功能的,但是对于开发者来说,这个功能确实必备的,Statistic统计代码行数非常方便,也很详细. 1,首先肯定是将插件下载下来,下载地址: ...
- [转] 一句shell命令搞定代码行数统计
今天面试时,突然被面试官问到怎样用shell命令搞定某个文件夹下java代码行数的统计. 想了一下,基本思路就是找到这个文件夹下面的所有java文件,然后每个文件统计一下代码,外层套个for循环,叠加 ...
- 代码行数统计(mac)
如何统计自己的代码量?下面介绍两个方法: 一.cloc 1.首先,安装homebrew,已安装的请跳过. 打开终端工具Terminal,输入下列命令.过程中会让你按RETURN键以及输入mac桌面密码 ...
- Git代码行数统计命令
统计zhangsan在某个时间段内的git新增删除代码行数 git log --author=zhangsan--since=2018-01-01 --until=2019-04-01 --forma ...
- 代码行数统计的Java和Python实现
通过编写程序来统计文件的行数,可以在巩固文件IO知识的同时计算出自己的代码量,以下分别提供Java和Python实现的版本. 解决思路 两种版本的思路几乎相同,每一个文件夹(目录)内的行数都是其所有子 ...
- GitLab代码行数统计--统计增加与删除行数
#!/bin/bashmaster_dev='master'date_star='2018-11-01'date_end='2018-11-30'path1=`find /home/gitlab_da ...
随机推荐
- UISearchController的使用。(iOS8+)
这种方法早就发现了,不过一致没用,今天拿过来用,发现了一些问题. 1.这个东西和表视图结合使用很方便,首先,创建新的工程,将表视图控制器作为工程的根视图,并且添加一个导航(当然,你可以不这样做,但是你 ...
- Java快速教程
作者:Vamei 出处:http://www.cnblogs.com/vamei Java是面向对象语言.这门语言其实相当年轻,于1995年才出现,由Sun公司出品.James Gosling ...
- C# ACM poj1007
求逆序数,快排 public static void acm1007(int a, string[] c) { Dictionary<int, string> dic = new Dict ...
- JavaScript基础-面向对象编程<1>
1.1 函数与对象 1.定义函数的方式定义类 定义类的方法: function class1(){ //类成员的定义及构造函数部分 } class1既是一个函数,也是一个类. 使用 new 操作符获 ...
- 方法 :PHP开发环境搭建(phpstorm + xampp+mongodb)
phpstorm 安装下载 百度网盘资源 phpstorm 9.0.1(有序列号) http://pan.baidu.com/s/1kTvX0jl xampp 安装下载 ...
- Javaweb学习笔记--分层设计
在早期的JavaWeb应用中,JSP文件负责处理业务逻辑,控制网页流程并创建HTML页面,JSP文件是一个独立的,能自主完成所有任务的模块, 这带来了一系列问题:HTML代码和Java程序代码强耦合在 ...
- 在Windows下用Mingw 4.5.2编译X264
1.下载mingw-get-inst-20110530.rar(http://www.baidu.com/link?url=-ixXW6QiuEl8CA1dKudoWCxzcTvxrpQ0nXRBHU ...
- OpenJudge 2694 逆波兰表达式
1.链接地址: http://bailian.openjudge.cn/practice/2694/ 2.题目: 总时间限制: 1000ms 内存限制: 65536kB 描述 逆波兰表达式是一种把运算 ...
- angular中的orderBy过滤器使用
一 orderBy过滤器 AngularJS中orderBy进行排序,第一个参数可以有三种类型,分别为:function,string,array: 第一种:function,如果是func ...
- SQLite学习第03天:环境搭建
相比于其他数据库而言,SQLite的环境搭建十分简单,简单几步就可以完成: (1) 首先,从http://www.sqlite.org/download.html的网站上下载预编译的shell二进制文 ...