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脚本内运行linux命令的方法
Jul 02 Python
Python中方法链的使用方法
Feb 23 Python
快速排序的算法思想及Python版快速排序的实现示例
Jul 02 Python
Mac中升级Python2.7到Python3.5步骤详解
Apr 27 Python
Python使用flask框架操作sqlite3的两种方式
Jan 31 Python
Python基于SMTP协议实现发送邮件功能详解
Aug 14 Python
python 2.7 检测一个网页是否能正常访问的方法
Dec 26 Python
Python小进度条显示代码
Mar 05 Python
wxpython自定义下拉列表框过程图解
Feb 14 Python
django从后台返回html代码的实例
Mar 11 Python
浅谈Python中的正则表达式
Jun 28 Python
如何利用opencv判断两张图片是否相同详解
Jul 07 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程序员工具
2008/05/26 PHP
php设计模式 Chain Of Responsibility (职责链模式)
2011/06/26 PHP
PHP实现的多维数组去重操作示例
2018/07/21 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
用javascript实现读取txt文档的脚本
2007/07/20 Javascript
支持ie与FireFox的剪切板操作代码
2009/09/28 Javascript
Javascript中的this绑定介绍
2011/09/22 Javascript
JS实现商品倒计时实现代码
2013/05/03 Javascript
node.js入门教程
2014/06/01 Javascript
AngularJS 指令详细介绍
2016/07/27 Javascript
用原生js统计文本行数的简单示例
2016/08/19 Javascript
JS使用正则实现去掉字符串左右空格的方法
2016/12/27 Javascript
深入理解vue.js中$watch的oldvalue与newValue
2017/08/07 Javascript
深入理解js 中async 函数的含义和用法
2018/05/13 Javascript
Vue仿微信app页面跳转动画效果
2019/08/21 Javascript
JavaScript实现鼠标移入随机变换颜色
2020/11/24 Javascript
Python爬取网易云音乐上评论火爆的歌曲
2017/01/19 Python
Python判断是否json是否包含一个key的方法
2018/12/31 Python
Python中按值来获取指定的键
2019/03/04 Python
详解Python解决抓取内容乱码问题(decode和encode解码)
2019/03/29 Python
浅谈Python 敏感词过滤的实现
2019/08/15 Python
opencv3/Python 稠密光流calcOpticalFlowFarneback详解
2019/12/11 Python
python输出pdf文档的实例
2020/02/13 Python
python 实现在shell窗口中编写print不向屏幕输出
2020/02/19 Python
python内打印变量之%和f的实例
2020/02/19 Python
pyautogui自动化控制鼠标和键盘操作的步骤
2020/04/01 Python
JAKO-O德国野酷台湾站:德国首屈一指的婴幼童用品品牌
2019/01/14 全球购物
公务员培训自我鉴定
2013/09/19 职场文书
职业生涯规划书基本格式
2014/01/06 职场文书
给客户的道歉信
2014/01/13 职场文书
高中生物教学反思
2014/02/05 职场文书
访谈节目策划方案
2014/05/15 职场文书
中学生打架检讨书
2014/10/13 职场文书
2015年党员公开承诺事项
2015/04/27 职场文书
公司文体活动总结
2015/05/07 职场文书
Pandas数据结构之Series的使用
2022/03/31 Python