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中字典(dict)合并的四种方法总结
Aug 10 Python
Python简单实现控制电脑的方法
Jan 22 Python
django中send_mail功能实现详解
Feb 06 Python
python 创建一个空dataframe 然后添加行数据的实例
Jun 07 Python
浅析Python 3 字符串中的 STR 和 Bytes 有什么区别
Oct 14 Python
Python编程图形库之Pillow使用方法讲解
Dec 28 Python
django的ORM模型的实现原理
Mar 04 Python
python scipy卷积运算的实现方法
Sep 16 Python
tensorflow生成多个tfrecord文件实例
Feb 17 Python
通过python检测字符串的字母
Feb 18 Python
PyQt5+Pycharm安装和配置图文教程详解
Mar 24 Python
Django中和时区相关的安全问题详解
Oct 12 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
PHP中实现进程间通讯
2006/10/09 PHP
Php注入点构造代码
2008/06/14 PHP
php中隐形字符65279(utf-8的BOM头)问题
2014/08/16 PHP
Yii框架上传图片用法总结
2016/03/28 PHP
php项目开发中用到的快速排序算法分析
2016/06/25 PHP
浅谈PHP的数据库接口和技术
2016/12/09 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
DOM2非标准但却支持很好的几个属性小结
2012/01/21 Javascript
JavaScript中的eval()函数详解
2013/08/22 Javascript
ExtJS4 表格的嵌套 rowExpander应用
2014/05/02 Javascript
angularjs指令中的compile与link函数详解
2014/12/06 Javascript
jquery实现鼠标滑过显示二级下拉菜单效果
2015/08/24 Javascript
使用JQuery实现Ctrl+Enter提交表单的方法
2015/10/22 Javascript
js判断手机访问或者PC的几个例子(常用于手机跳转)
2015/12/15 Javascript
JavaScript电子时钟倒计时第二款
2016/01/10 Javascript
分享jQuery插件的学习笔记
2016/01/14 Javascript
jquery+json实现动态商品内容展示的方法
2016/01/14 Javascript
Vuejs第十篇之vuejs父子组件通信
2016/09/06 Javascript
巧妙运用v-model实现父子组件传值的方法示例
2019/04/07 Javascript
微信小程序实现批量倒计时功能
2020/11/01 Javascript
JQuery发送ajax请求时中文乱码问题解决
2019/11/14 jQuery
Node.js中的异步生成器与异步迭代详解
2021/01/31 Javascript
在Python中利用Into包整洁地进行数据迁移的教程
2015/03/30 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
2019/04/03 Python
python的debug实用工具 pdb详解
2019/07/12 Python
Python高阶函数与装饰器函数的深入讲解
2020/11/10 Python
阿波罗盒子:Apollo Box
2017/08/14 全球购物
英国的潮牌鞋履服饰商店:size?
2019/03/26 全球购物
意大利奢侈品综合电商网站:MODES
2019/12/14 全球购物
构造方法和其他方法的区别?怎么调用父类的构造方法
2013/09/22 面试题
Ref与out有什么不同
2012/11/24 面试题
装潢设计专业推荐信模板
2013/11/26 职场文书
养殖项目策划书范文
2014/01/13 职场文书
火锅店营销方案
2014/02/26 职场文书
销售团队口号大全
2014/06/06 职场文书
七年级语文教学反思
2016/03/03 职场文书