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 18 Python
Python 判断 有向图 是否有环的实例讲解
Feb 01 Python
Python matplotlib生成图片背景透明的示例代码
Aug 30 Python
python多线程实现TCP服务端
Sep 03 Python
tensorflow 实现打印pb模型的所有节点
Jan 23 Python
python except异常处理之后不退出,解决异常继续执行的实现
Apr 25 Python
使用Django搭建网站实现商品分页功能
May 22 Python
浅谈keras2 predict和fit_generator的坑
Jun 17 Python
2021年的Python 时间轴和即将推出的功能详解
Jul 27 Python
python 发送邮件的示例代码(Python2/3都可以直接使用)
Dec 03 Python
一篇文章搞懂python混乱的切换操作与优雅的推导式
Aug 23 Python
Python软件包安装的三种常见方法
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转成EXE文件
2006/10/09 PHP
php基于curl扩展制作跨平台的restfule 接口
2015/05/11 PHP
php对微信支付回调处理的方法
2018/08/23 PHP
thinkPHP框架RBAC实现原理分析
2019/02/01 PHP
JS声明变量背后的编译原理剖析
2012/12/28 Javascript
打豆豆小游戏 用javascript编写的[打豆豆]小游戏
2013/01/08 Javascript
JS实现网页滚动条感应鼠标变色的方法
2015/02/26 Javascript
Bootstrap table的使用方法
2016/11/02 Javascript
Bootstrap模态框使用详解
2017/02/15 Javascript
vue中mint-ui环境搭建详细介绍
2017/04/06 Javascript
Bootstrap响应式表格详解
2017/05/23 Javascript
写一个移动端惯性滑动&回弹Vue导航栏组件 ly-tab
2018/03/06 Javascript
详解使用VueJS开发项目中的兼容问题
2018/08/02 Javascript
深入浅析angular和vue还有jquery的区别
2018/08/13 jQuery
vue input输入框关键字筛选检索列表数据展示
2020/10/26 Javascript
在vue中配置不同的代理同时访问不同的后台操作
2020/09/11 Javascript
[41:11]完美世界DOTA2联赛PWL S2 Inki vs Magma 第一场 11.22
2020/11/24 DOTA
python两种遍历字典(dict)的方法比较
2014/05/29 Python
python爬虫实现教程转换成 PDF 电子书
2017/02/19 Python
Python的argparse库使用详解
2018/10/09 Python
自适应线性神经网络Adaline的python实现详解
2019/09/30 Python
python opencv将表格图片按照表格框线分割和识别
2019/10/30 Python
python opencv实现gif图片分解的示例代码
2019/12/13 Python
Python Numpy中数据的常用保存与读取方法
2020/04/01 Python
美国最古老的精致书写工具制造商:A.T. Cross(高仕)
2018/01/30 全球购物
WWE美国职业摔角官方商店:WWE Shop
2018/11/15 全球购物
英文导游欢迎词
2014/01/11 职场文书
运动会表扬稿大全
2014/01/16 职场文书
医院检讨书范文
2014/02/01 职场文书
在职证明书范本(2014新版)
2014/09/25 职场文书
2015法院个人工作总结范文
2015/05/25 职场文书
工伤事故赔偿协议书
2015/08/06 职场文书
详解Apache SkyWalking 告警配置指南
2021/04/22 Servers
Pycharm连接远程服务器并远程调试的全过程
2021/06/24 Python
MySQL配置主从服务器(一主多从)
2021/08/07 MySQL
Python天气语音播报小助手
2021/09/25 Python