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中的浅复制与深复制
Jul 02 Python
python根据list重命名文件夹里的所有文件实例
Oct 25 Python
值得收藏,Python 开发中的高级技巧
Nov 23 Python
python中ImageTk.PhotoImage()不显示图片却不报错问题解决
Dec 06 Python
python解析含有重复key的json方法
Jan 22 Python
numpy数组之存取文件的实现示例
May 24 Python
Django框架 查询Extra功能实现解析
Sep 04 Python
Python 获取项目根路径的代码
Sep 27 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
Mar 03 Python
Python虚拟环境venv用法详解
May 25 Python
python读取mnist数据集方法案例详解
Sep 04 Python
python编程实现清理微信重复缓存文件
Nov 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
PHP实现微信对账单处理
2018/10/01 PHP
Sample script that displays all of the users in a given SQL Server DB
2007/06/16 Javascript
javascript tips提示框组件实现代码
2010/11/19 Javascript
基于jquery的loading 加载提示效果实现代码
2011/09/01 Javascript
JS判断变量是否为空判断是否null
2014/07/25 Javascript
jQuery中:password选择器用法实例
2015/01/03 Javascript
Javascript 拖拽的一些简单的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
JavaScript实现的类字典插入或更新方法实例
2015/07/10 Javascript
node.js入门实例helloworld详解
2015/12/23 Javascript
JS实战篇之收缩菜单表单布局
2016/12/10 Javascript
ES6 javascript中class类的get与set用法实例分析
2017/10/30 Javascript
详解vue mixins和extends的巧妙用法
2017/12/20 Javascript
React注册倒计时功能的实现
2018/09/06 Javascript
Element-ui tree组件自定义节点使用方法代码详解
2018/09/17 Javascript
js限制输入框只能输入数字(onkeyup触发)
2018/09/28 Javascript
JavaScript JMap类定义与使用方法示例
2019/01/22 Javascript
JS实现的检验身份证格式并输出出生日期,年龄,性别,出生地示例
2019/05/17 Javascript
Emberjs 通过 axios 下载文件的方法
2019/09/03 Javascript
vue-cli3配置favicon.ico和title的流程
2020/10/27 Javascript
nuxt引入组件和公共样式的操作
2020/11/05 Javascript
[01:53]2016完美“圣”典风云人物:Maybe专访
2016/12/05 DOTA
python使用urllib2提交http post请求的方法
2015/05/26 Python
Python自定义简单图轴简单实例
2018/01/08 Python
Python解析并读取PDF文件内容的方法
2018/05/08 Python
Python+OpenCV 实现图片无损旋转90°且无黑边
2019/12/12 Python
用Python做一个久坐提醒小助手的示例代码
2020/02/10 Python
python开发前景如何
2020/06/11 Python
Python约瑟夫生者死者小游戏实例讲解
2021/01/04 Python
html5清空画布方法(三种)
2017/10/16 HTML / CSS
优衣库英国官网:UNIQLO英国
2016/12/25 全球购物
Lookfantastic俄罗斯:欧洲在线化妆品零售商
2019/08/06 全球购物
思想汇报格式
2014/01/05 职场文书
求职信范文怎么写
2014/01/29 职场文书
中学自我评价
2014/01/31 职场文书
小学国庆节活动方案
2014/02/11 职场文书
乔丹名人堂演讲稿
2014/05/24 职场文书