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 相关文章推荐
在Linux中通过Python脚本访问mdb数据库的方法
May 06 Python
python 实现删除文件或文件夹实例详解
Dec 04 Python
浅析python实现scrapy定时执行爬虫
Mar 04 Python
python如何在循环引用中管理内存
Mar 20 Python
解决webdriver.Chrome()报错:Message:'chromedriver' executable needs to be in Path
Jun 12 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
Jun 21 Python
利用pyecharts实现地图可视化的例子
Aug 12 Python
Python实现列表中非负数保留,负数转化为指定的数值方式
Jun 04 Python
Python学习之路之pycharm的第一个项目搭建过程
Jun 18 Python
python小技巧——将变量保存在本地及读取
Nov 13 Python
python实现录制全屏和选择区域录屏功能
Feb 05 Python
Python编写冷笑话生成器
Apr 20 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
解析百度搜索结果link?url=参数分析 (全)
2012/10/09 PHP
浅析php中jsonp的跨域实例
2013/06/21 PHP
PHP数据库操作Helper类完整实例
2016/05/11 PHP
jQuery学习笔记 获取jQuery对象
2012/09/19 Javascript
javascript获取url上某个参数的方法
2013/11/08 Javascript
浅析jQuery1.8的几个小变化
2013/12/10 Javascript
js获取下拉列表的值和元素个数示例
2014/05/07 Javascript
Vue.js每天必学之表单控件绑定
2016/09/05 Javascript
jQuery动态移除和添加背景图片的方法详解
2017/03/07 Javascript
解决ionic和angular上拉加载的问题
2017/08/03 Javascript
微信小程序实现动态设置placeholder提示文字及按钮选中/取消状态的方法
2017/12/14 Javascript
Vue.directive()的用法和实例详解
2018/03/04 Javascript
jQuery实现基本动画效果的方法详解
2018/09/06 jQuery
Vue Router的手写实现方法实现
2020/03/02 Javascript
jQuery实现容器间的元素拖拽功能
2020/12/01 jQuery
[04:44]DOTA2 2017全国高校联赛视频回顾
2017/08/21 DOTA
Python中列表、字典、元组、集合数据结构整理
2014/11/20 Python
Python之父谈Python的未来形式
2016/07/01 Python
Python制作钉钉加密/解密工具
2016/12/07 Python
Python引用传值概念与用法实例小结
2017/10/07 Python
python版简单工厂模式
2017/10/16 Python
python cx_Oracle的基础使用方法(连接和增删改查)
2017/11/19 Python
Python 微信之获取好友昵称并制作wordcloud的实例
2019/02/21 Python
Python实现 版本号对比功能的实例代码
2019/04/18 Python
Python3 用matplotlib绘制sigmoid函数的案例
2020/12/11 Python
CSS3教程(8):CSS3透明度指南
2009/04/02 HTML / CSS
HTML5 manifest离线缓存的示例代码
2018/08/08 HTML / CSS
AmazeUI 面板的实现示例
2020/08/17 HTML / CSS
Rosetta Stone官方网站:语言学习
2019/01/05 全球购物
安全教育感言
2014/03/04 职场文书
法制宣传实施方案
2014/03/13 职场文书
党员个人整改方案及措施
2014/10/25 职场文书
2016春季田径运动会广播稿
2015/12/21 职场文书
辞职信怎么写?
2019/05/21 职场文书
2019年第四季度财务部门工作计划
2019/11/02 职场文书
MySQL时间盲注的五种延时方法实现
2021/05/18 MySQL