python实现代码行数统计示例分享


Posted in Python onFebruary 10, 2014
#!/usr/bin/python
'''
        File      : count.py
        Author    : Mike
        E-Mail    : Mike_Zhang@live.com
'''
import sys,os
extens = [".c",".cpp",".hpp",".h"]
linesCount = 0
filesCount = 0
def funCount(dirName):
    global extens,linesCount,filesCount
    for root,dirs,fileNames in os.walk(dirName):
        for f in fileNames:
            fname = os.path.join(root,f)
            try :
                ext = f[f.rindex('.'):]
                if(extens.count(ext) > 0):
                    print 'support'
                    filesCount += 1
                    print fname
                    l_count = len(open(fname).readlines())
                    print fname," : ",l_count
                    linesCount += l_count
                else:
                    print ext," : not support"
            except:
                print "Error occur!"
                pass

if len(sys.argv) > 1 :
    for m_dir in sys.argv[1:]:        
        print m_dir
        funCount(m_dir)
else :
    funCount(".")        
print "files count : ",filesCount
print "lines count : ",linesCount
raw_input("Press Enter to continue")

使用方法
1、针对本目录

./count.py

2、统计多个目录

./count.py /tmp ~
Python 相关文章推荐
使用python在校内发人人网状态(人人网看状态)
Feb 19 Python
Python使用multiprocessing实现一个最简单的分布式作业调度系统
Mar 14 Python
python解决Fedora解压zip时中文乱码的方法
Sep 18 Python
浅谈Python 的枚举 Enum
Jun 12 Python
JavaScript实现一维数组转化为二维数组
Apr 17 Python
Python数据集切分实例
Dec 08 Python
Django model 中设置联合约束和联合索引的方法
Aug 06 Python
解决Python列表字符不区分大小写的问题
Dec 19 Python
使用python3 实现插入数据到mysql
Mar 02 Python
Python reversed反转序列并生成可迭代对象
Oct 22 Python
Python实现单例模式的5种方法
Jun 15 Python
Python内置类型集合set和frozenset的使用详解
Apr 26 Python
python基础教程之获取本机ip数据包示例
Feb 10 #Python
python基础教程之udp端口扫描
Feb 10 #Python
python网页请求urllib2模块简单封装代码
Feb 07 #Python
python解析xml模块封装代码
Feb 07 #Python
python 解析XML python模块xml.dom解析xml实例代码
Feb 07 #Python
python合并文本文件示例
Feb 07 #Python
python实现哈希表
Feb 07 #Python
You might like
关于BIG5-HKSCS的解决方法
2007/03/20 PHP
JSON两种结构之对象和数组的理解
2016/07/19 PHP
redis+php实现微博(一)注册与登录功能详解
2019/09/23 PHP
tp5.1 框架数据库-数据集操作实例分析
2020/05/26 PHP
Javascript 变量作用域 两个可能会被忽略的小特性
2010/03/23 Javascript
JavaScript动态加载样式表的方法
2015/03/21 Javascript
JS利用cookie记忆当前位置的防刷新导航效果
2015/10/15 Javascript
jQuery+Ajax实现限制查询间隔的方法
2016/06/07 Javascript
详解Windows下安装Nodejs步骤
2017/05/18 NodeJs
vue绑定事件后获取绑定事件中的this方法
2018/09/15 Javascript
js实现九宫格布局效果
2020/05/28 Javascript
[50:59]2018DOTA2亚洲邀请赛 4.7 总决赛 LGD vs Mineski第四场
2018/04/10 DOTA
[48:47]VGJ.S vs NB 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python 换位密码算法的实例详解
2017/07/19 Python
Python实现字符串格式化输出的方法详解
2017/09/20 Python
详解Python中如何写控制台进度条的整理
2018/03/07 Python
解决使用pycharm提交代码时冲突之后文件丢失找回的方法
2018/08/05 Python
Python3编码问题 Unicode utf-8 bytes互转方法
2018/10/26 Python
python计算阶乘和的方法(1!+2!+3!+...+n!)
2019/02/01 Python
python 判断字符串中是否含有汉字或非汉字的实例
2019/07/15 Python
Python 实现取多维数组第n维的前几位
2019/11/26 Python
python 浅谈serial与stm32通信的编码问题
2019/12/18 Python
python中如何写类
2020/06/29 Python
使用python脚本自动生成K8S-YAML的方法示例
2020/07/12 Python
django 模型字段设置默认值代码
2020/07/15 Python
adidas澳大利亚官方网站:adidas Australia
2018/04/15 全球购物
Mybag美国/加拿大:英国奢华包包和名牌手袋网站
2020/02/16 全球购物
武汉某公司的C#笔试题面试题
2015/12/25 面试题
如何利用find命令查找文件
2016/11/18 面试题
cf收人广告词大全
2014/03/14 职场文书
工厂采购员岗位职责
2014/04/08 职场文书
企业消防安全责任书
2014/07/23 职场文书
2014年党员自我评议对照检查材料
2014/09/20 职场文书
基层工作经验证明样本
2014/11/16 职场文书
签订劳动合同通知书
2015/04/16 职场文书
红十字会救护培训简讯
2015/07/20 职场文书