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 时间处理datetime实例
Sep 06 Python
python发送邮件的实例代码(支持html、图片、附件)
Mar 04 Python
python输出当前目录下index.html文件路径的方法
Apr 28 Python
Python Tkinter模块实现时钟功能应用示例
Jul 23 Python
Python中的CSV文件使用"with"语句的方式详解
Oct 16 Python
Opencv-Python图像透视变换cv2.warpPerspective的示例
Apr 11 Python
python中struct模块之字节型数据的处理方法
Aug 27 Python
python rsa实现数据加密和解密、签名加密和验签功能
Sep 18 Python
Python面向对象编程基础实例分析
Jan 17 Python
Python使用Numpy模块读取文件并绘制图片
May 13 Python
Python xml、字典、json、类四种数据类型如何实现互相转换
May 27 Python
keras实现图像预处理并生成一个generator的案例
Jun 17 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
解决文件名解压后乱码的问题 将文件名进行转码的代码
2012/01/10 PHP
php addslashes及其他清除空格的方法是不安全的
2012/01/25 PHP
IE 上下滚动展示模仿Marquee机制
2009/12/20 Javascript
qTip2 精致的基于jQuery提示信息插件
2012/02/17 Javascript
js实现动态改变字体大小代码
2014/01/02 Javascript
jquery提交form表单时禁止重复提交的方法
2014/02/13 Javascript
JavaScript函数详解
2014/11/17 Javascript
详解JavaScript的策略模式编程
2015/06/24 Javascript
Jquery Mobile 自定义按钮图标
2015/11/18 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
2016/01/06 Javascript
bootstrap选项卡使用方法解析
2017/01/11 Javascript
JavaScript函数表达式详解及实例
2017/05/05 Javascript
windows系统下更新nodejs版本的方案
2017/11/24 NodeJs
详解VueJS应用中管理用户权限
2018/02/02 Javascript
ES6 迭代器(Iterator)和 for.of循环使用方法学习(总结)
2018/02/08 Javascript
解决iview多表头动态更改列元素发生的错误的方法
2018/11/02 Javascript
15分钟深入了解JS继承分类、原理与用法
2019/01/19 Javascript
javascript局部自定义鼠标右键菜单
2020/12/08 Javascript
Python和perl实现批量对目录下电子书文件重命名的代码分享
2014/11/21 Python
Python中Django框架利用url来控制登录的方法
2015/07/25 Python
Python处理中文标点符号大集合
2018/05/14 Python
Django Sitemap 站点地图的实现方法
2019/04/29 Python
django数据关系一对多、多对多模型、自关联的建立
2019/07/24 Python
python中bytes和str类型的区别
2019/10/21 Python
Python csv文件记录流程代码解析
2020/07/16 Python
用python发送微信消息
2020/12/21 Python
CSS3转换功能transform主要属性值分析及实现分享
2012/05/06 HTML / CSS
html5 迷宫游戏(碰撞检测)实例一
2013/07/25 HTML / CSS
Conforama瑞士:家具、厨房、电器、装饰
2020/09/06 全球购物
清洁工岗位职责
2014/01/29 职场文书
金融管理专业毕业生求职信
2014/03/12 职场文书
护士求职信范文
2014/05/24 职场文书
见习期个人总结
2015/03/05 职场文书
2016感恩母亲节校园广播稿
2015/12/17 职场文书
关于SpringBoot 使用 Redis 分布式锁解决并发问题
2021/11/17 Redis
python manim实现排序算法动画示例
2022/08/14 Python