Python脚本实现代码行数统计代码分享


Posted in Python onMarch 10, 2015

之前用bash实现过(https://3water.com/article/61943.htm),不过那个不能在windows下使用,所以就写了个python版,也方便我以后使用……这里就不多介绍了,不懂的google下。

实现代码

#!/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 相关文章推荐
Python linecache.getline()读取文件中特定一行的脚本
Sep 06 Python
Python中decorator使用实例
Apr 14 Python
Python基于PycURL实现POST的方法
Jul 25 Python
git使用.gitignore设置不生效或不起作用问题的解决方法
Jun 01 Python
uwsgi+nginx部署Django项目操作示例
Dec 04 Python
对Python定时任务的启动和停止方法详解
Feb 19 Python
解决pyqt5中QToolButton无法使用的问题
Jun 21 Python
对Python3中列表乘以某一个数的示例详解
Jul 20 Python
python实现的发邮件功能示例
Sep 11 Python
Python timeit模块原理及使用方法
Oct 10 Python
基于python的opencv图像处理实现对斑马线的检测示例
Nov 29 Python
Python 一键获取电脑浏览器的账号密码
May 11 Python
Windows系统配置python脚本开机启动的3种方法分享
Mar 10 #Python
Python自动化构建工具scons使用入门笔记
Mar 10 #Python
Python操作CouchDB数据库简单示例
Mar 10 #Python
Python性能优化技巧
Mar 09 #Python
Python中的赋值、浅拷贝、深拷贝介绍
Mar 09 #Python
Python自动连接ssh的方法
Mar 07 #Python
Python最长公共子串算法实例
Mar 07 #Python
You might like
深入理解PHP JSON数组与对象
2016/07/19 PHP
smarty模板的使用方法实例分析
2019/09/18 PHP
PHP底层运行机制与工作原理详解
2020/07/31 PHP
怎么用javascript进行拖拽
2006/07/20 Javascript
深入理解JavaScript系列(8) S.O.L.I.D五大原则之里氏替换原则LSP
2012/01/15 Javascript
JS将秒换成时分秒实现代码
2013/09/03 Javascript
js算法中的排序、数组去重详细概述
2013/10/14 Javascript
完美解决IE低版本不支持call与apply的问题
2013/12/05 Javascript
2014最热门的JavaScript代码高亮插件推荐
2014/11/25 Javascript
Javascript常用小技巧汇总
2015/06/24 Javascript
基于Css3和JQuery实现打字机效果
2015/08/11 Javascript
javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
2016/01/08 Javascript
JS获取屏幕高度的简单实现代码
2016/05/24 Javascript
JavaScript的String字符串对象常用操作总结
2016/05/26 Javascript
Bootstrap编写一个兼容主流浏览器的受众巨幕式风格页面
2016/07/01 Javascript
JavaScript实现in-place思想的快速排序方法
2016/08/07 Javascript
如何快速上手Vuex
2017/02/14 Javascript
详解Vue中状态管理Vuex
2017/05/11 Javascript
用JS实现简单的登录验证功能
2017/07/28 Javascript
vue引入ueditor及node后台配置详解
2018/01/03 Javascript
使用p5.js实现动态GIF图片临摹重现
2019/10/23 Javascript
[02:32]“虐狗”镜头慎点 2016国际邀请赛中国区预选赛现场玩家采访
2016/06/28 DOTA
python计算圆周长、面积、球体体积并画出圆
2014/04/08 Python
讲解Python中的标识运算符
2015/05/14 Python
Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)
2017/06/27 Python
Python排序算法实例代码
2017/08/10 Python
python3实现单目标粒子群算法
2019/11/14 Python
h5使用canvas画布实现手势解锁
2019/01/04 HTML / CSS
神路信息Java面试题目
2013/03/31 面试题
Solaris操作系统的线程机制
2015/07/28 面试题
2015年元旦活动总结
2014/05/09 职场文书
2014年度安全生产目标管理责任书
2014/07/25 职场文书
党员查摆剖析材料
2014/10/10 职场文书
昆虫记读书笔记
2015/06/26 职场文书
六一儿童节致辞
2015/07/31 职场文书
奖学金发言稿(范文)
2019/08/21 职场文书