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下载文件时显示下载进度的方法
Apr 02 Python
Python中datetime模块参考手册
Jan 13 Python
python实现稀疏矩阵示例代码
Jun 09 Python
Python实现爬虫抓取与读写、追加到excel文件操作示例
Jun 27 Python
使用python生成杨辉三角形的示例代码
Aug 29 Python
Python自动化运维之Ansible定义主机与组规则操作详解
Jun 13 Python
对python中UDP,socket的使用详解
Aug 22 Python
python批量处理文件或文件夹
Jul 28 Python
Python+opencv+pyaudio实现带声音屏幕录制
Dec 23 Python
python 中的[:-1]和[::-1]的具体使用
Feb 13 Python
Python如何脚本过滤文件中的注释
May 27 Python
Python如何截图保存的三种方法(小结)
Sep 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
关于拼配咖啡,你要知道
2021/03/03 咖啡文化
PHP数据库操作面向对象的优点
2006/10/09 PHP
PHP基于phpqrcode生成带LOGO图像的二维码实例
2015/07/10 PHP
解决Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]
2020/04/06 PHP
JavaScript高级程序设计
2006/12/29 Javascript
javascript中万恶的function实例分析
2011/05/25 Javascript
json原理分析及实例介绍
2012/11/29 Javascript
javascript中的绑定与解绑函数应用示例
2013/06/24 Javascript
Js中获取frames中的元素示例代码
2013/07/30 Javascript
Javascript快速排序算法详解
2014/12/03 Javascript
JS实现具备延时功能的滑动门菜单效果
2015/09/17 Javascript
javascript判断复选框是否选中的方法
2015/10/16 Javascript
谈一谈js中的执行环境及作用域
2016/03/30 Javascript
JS在一定时间内跳转页面及各种刷新页面的实现方法
2016/05/26 Javascript
详解Weex基于Vue2.0开发模板搭建
2017/03/20 Javascript
Vue.js实现一个todo-list的上移下移删除功能
2017/06/26 Javascript
JavaScript输入分钟、秒倒计时技巧总结(附代码)
2017/08/17 Javascript
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
2018/03/06 Javascript
D3.js的基础部分之数组的处理数组的排序和求值(v3版本)
2019/05/09 Javascript
js 实现watch监听数据变化的代码
2019/10/13 Javascript
微信小程序wxml列表渲染原理解析
2019/11/27 Javascript
Node.js API详解之 dgram模块用法实例分析
2020/06/05 Javascript
[02:17]DOTA2亚洲邀请赛 RAVE战队出场宣传片
2015/02/07 DOTA
bat和python批量重命名文件的实现代码
2016/05/19 Python
K-近邻算法的python实现代码分享
2017/12/09 Python
Python实现 版本号对比功能的实例代码
2019/04/18 Python
Python实现打砖块小游戏代码实例
2019/05/18 Python
Django中的cookie和session
2019/08/27 Python
python3 中时间戳、时间、日期的转换和加减操作
2020/07/14 Python
python如何操作mysql
2020/08/17 Python
HTML5未来发展趋势
2016/02/01 HTML / CSS
Charles & Colvard官网:美国莫桑石品牌
2019/06/05 全球购物
优秀团员个人事迹材料
2014/01/29 职场文书
2014年音乐教师工作总结
2014/12/03 职场文书
2015年求职自荐信范文
2015/03/04 职场文书
2015年预备党员自我评价
2015/03/04 职场文书