【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 ...
随机推荐
- 【html】【9】div布局[div层叠]
让DIV重叠并按想要顺序重叠需要CSS来实现,即CSS绝对定位进行实现. 重叠样式需要主要CSS样式解释1.z-index 重叠顺序属性2.position:relative和position:abs ...
- 【html】【8】div布局[子div在父div居底]
从今天起 开始细话div布局 思路及要点: 父div的位置设置成相对的,即“position: relative;”. 而子div的位置设置成绝对的,并且下边缘设为0,即“position: ab ...
- ASP.NET 使用C#代码设置页面元素中的样式或属性
在HTML元素的属性中加上runat ="server"和ID="MyTag"即可在后台代码中通过设置MyTag.Style的值来控制样式. 例如:在前端页面加 ...
- Mysql多实例 安装以及配置
MySQL多实例 1.什么是MySQL多实例 简单地说,Mysql多实例就是在一台服务器上同时开启多个不同的服务端口(3306.3307),同时运行多个Mysql服务进程,这些服务进程通过不同的soc ...
- javascript控制子页面对父页面控件操作
//赋值 window.parent.document.getElementById("partyid_trade_edit").value = data.data.partyid ...
- lamp 中基本配置常识
// apache// 禁止访问目录// 开启 url重写// 重写定义错误页面// 日志分页// 增加并发连接数// 设置连接连接的时间 // threadsPerChild // 每个进程的线程数 ...
- aspx与mvc页面验证码
验证码类代码 using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Dr ...
- php 开启缓冲,页面纯静态化
服务器默认不开启php缓冲区 两种方法开启 1.php.ini out_put_buffer = on 2.ob_start(); 页面纯静态化 file_put_contents()写文件 ob_s ...
- python使用psutil获取服务器信息
>>> import psutil 获取cpu信息>>> psutil.cpu_times()scputimes(user=128258.38, nice=12.2 ...
- 【BZOJ】1006: [HNOI2008]神奇的国度 弦图消除完美序列问题
1006: [HNOI2008]神奇的国度 Description K国是一个热衷三角形的国度,连人的交往也只喜欢三角原则. 他们认为三角关系:即AB相互认识,BC相互认识,CA相互认识,是简洁高效的 ...