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装饰器知识点补充
May 28 Python
Python实现朴素贝叶斯分类器的方法详解
Jul 04 Python
Python wxPython库消息对话框MessageDialog用法示例
Sep 03 Python
python绘制热力图heatmap
Mar 23 Python
Python爬虫实战之12306抢票开源
Jan 24 Python
Scrapy-Redis结合POST请求获取数据的方法示例
May 07 Python
python暴力解压rar加密文件过程详解
Jul 05 Python
Python获取一个用户名的组ID过程解析
Sep 03 Python
pytest中文文档之编写断言
Sep 12 Python
tensorflow求导和梯度计算实例
Jan 23 Python
python3代码中实现加法重载的实例
Dec 03 Python
python数字图像处理之图像自动阈值分割示例
Jun 28 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
通过table标签,PHP输出EXCEL的实现方法
2013/07/24 PHP
php中将一段数据存到一个txt文件中并显示其内容
2014/08/15 PHP
跟我学Laravel之快速入门
2014/10/15 PHP
php有效防止同一用户多次登录
2015/11/19 PHP
使用laravel根据用户类型来显示或隐藏字段
2019/10/17 PHP
baidu博客的编辑友情链接的新的层窗口!经典~支持【FF】
2007/02/09 Javascript
JavaScript 三种创建对象的方法
2009/10/16 Javascript
获取css样式表内样式的js函数currentStyle(IE),defaultView(FF)
2011/02/14 Javascript
javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法
2014/04/12 Javascript
js实现弹出窗口、页面变成灰色并不可操作的例子分享
2014/05/10 Javascript
Jquery中使用show()与hide()方法动画显示和隐藏图片
2015/10/08 Javascript
js实现复选框的全选和取消全选效果
2017/01/03 Javascript
react.js 获取真实的DOM节点实例(必看)
2017/04/17 Javascript
微信小程序 rich-text的使用方法
2017/08/04 Javascript
jQuery实现table中两列CheckBox只能选中一个的示例
2017/09/22 jQuery
jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析
2018/07/25 jQuery
JavaScript键盘事件响应顺序详解
2019/09/30 Javascript
[15:23]教你分分钟做大人:虚空假面
2014/10/30 DOTA
python脚本实现查找webshell的方法
2014/07/31 Python
python django 增删改查操作 数据库Mysql
2017/07/27 Python
Python3网络爬虫之使用User Agent和代理IP隐藏身份
2017/11/23 Python
Python OpenCV获取视频的方法
2018/02/28 Python
Python生成rsa密钥对操作示例
2019/04/26 Python
python 实现让字典的value 成为列表
2019/12/16 Python
Python通过队列来实现进程间通信的示例
2020/10/14 Python
李维斯法国官网:Levi’s法国
2019/07/13 全球购物
银行财务部实习生的自我鉴定
2013/11/27 职场文书
房地产财务部员工岗位职责
2014/03/12 职场文书
美术指导助理求职信
2014/04/20 职场文书
《雕塑之美》教学反思
2014/04/24 职场文书
2014年班组建设工作总结
2014/12/01 职场文书
卢旺达饭店观后感
2015/06/05 职场文书
员工手册董事长致辞
2015/07/29 职场文书
2019送给家人们的中秋节祝福语
2019/08/15 职场文书
浅谈Python numpy创建空数组的问题
2021/05/25 Python
Win11 Beta 22621.601 和 22622.601今日发布 KB5017384修复内容汇总
2022/09/23 数码科技