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模拟sql语句对员工表格进行增删改查
Jul 05 Python
Python绑定方法与非绑定方法详解
Aug 18 Python
python操作excel文件并输出txt文件的实例
Jul 10 Python
python中的json总结
Oct 11 Python
python字符串和常用数据结构知识总结
May 21 Python
python实现串口通信的示例代码
Feb 10 Python
Python3 hashlib密码散列算法原理详解
Mar 30 Python
构建高效的python requests长连接池详解
May 02 Python
Django model.py表单设置默认值允许为空的操作
May 19 Python
Python单元测试及unittest框架用法实例解析
Jul 09 Python
Python使用pickle进行序列化和反序列化的示例代码
Sep 22 Python
Python中使用Lambda函数的5种用法
Apr 01 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
做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)
2013/04/13 PHP
php不写闭合标签的好处
2014/03/04 PHP
php PDO判断连接是否可用的实现方法
2017/04/03 PHP
PHP实现简单登录界面
2019/10/23 PHP
js对象的构造和继承实现代码
2010/12/05 Javascript
javaScript 动态访问JSon元素示例代码
2013/08/30 Javascript
window.onload追加函数使用示例
2014/03/03 Javascript
JavaScript学习笔记之定时器
2015/01/22 Javascript
SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
2015/12/10 Javascript
JavaScript拖拽、碰撞、重力及弹性运动实例分析
2016/01/08 Javascript
深入理解jquery中extend的实现
2016/12/22 Javascript
jQuery实现手机上输入后隐藏键盘功能
2017/01/04 Javascript
JavaScript中利用构造器函数模拟类的方法
2017/02/16 Javascript
Java中int与integer的区别(基本数据类型与引用数据类型)
2017/02/19 Javascript
jquery中each循环的简单回滚操作
2017/05/05 jQuery
JavaScript实现提交模式窗口后刷新父窗口数据的方法
2017/06/16 Javascript
vue 插值 v-once,v-text, v-html详解
2018/01/19 Javascript
JS数组进阶示例【数组的几种函数用法】
2020/01/16 Javascript
JavaScript代理模式原理与用法实例详解
2020/03/10 Javascript
[42:39]老党炸弹人试玩视频
2014/09/03 DOTA
Python单体模式的几种常见实现方法详解
2017/07/28 Python
Python打印输出数组中全部元素
2018/03/13 Python
Python 实现一行输入多个值的方法
2018/04/21 Python
Python字典常见操作实例小结【定义、添加、删除、遍历】
2019/10/25 Python
Python 简单计算要求形状面积的实例
2020/01/18 Python
浅谈python累加求和+奇偶数求和_break_continue
2020/02/25 Python
Python猴子补丁Monkey Patch用法实例解析
2020/03/23 Python
django自带的权限管理Permission用法说明
2020/05/13 Python
幼儿园中秋节活动反思
2014/02/16 职场文书
给孩子的新年寄语
2014/04/08 职场文书
2014年工人工作总结
2014/11/25 职场文书
道歉的话语大全
2015/05/12 职场文书
2015年大学教师工作总结
2015/05/20 职场文书
值班管理制度范本
2015/08/06 职场文书
apache基于端口创建虚拟主机的示例
2021/04/24 Servers
JS中一些高效的魔法运算符总结
2021/05/06 Javascript