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创建日历实例
Aug 21 Python
纯Python开发的nosql数据库CodernityDB介绍和使用实例
Oct 23 Python
python中map、any、all函数用法分析
Apr 21 Python
使用python将请求的requests headers参数格式化方法
Jan 02 Python
Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】
Mar 30 Python
梅尔频率倒谱系数(mfcc)及Python实现
Jun 18 Python
Python异常处理例题整理
Jul 07 Python
详解Python是如何实现issubclass的
Jul 24 Python
在PyCharm的 Terminal(终端)切换Python版本的方法
Aug 02 Python
使用python求斐波那契数列中第n个数的值示例代码
Jul 26 Python
Python3爬虫中pyspider的安装步骤
Jul 29 Python
Python无损压缩图片的示例代码
Aug 06 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
中国的第一台收音机
2021/03/01 无线电
重料打造自己的“宝马”---第三代
2021/03/02 无线电
PHP 5.0对象模型深度探索之属性和方法
2008/03/27 PHP
建站常用13种PHP开源CMS比较
2009/08/23 PHP
PHP flock 文件锁详细介绍
2012/12/29 PHP
浅谈php函数serialize()与unserialize()的使用方法
2014/08/19 PHP
js 自定义个性下拉选择框示例
2013/08/20 Javascript
jquery easyui 对于开始时间小于结束时间的判断示例
2014/03/22 Javascript
使用jquery prev()方法找到同级的前一个元素
2014/07/11 Javascript
JavaScript弹出窗口方法汇总
2014/08/12 Javascript
详解JavaScript的Polymer框架中的通知交互
2015/07/29 Javascript
深入理解js数组的sort排序
2016/05/28 Javascript
详解js产生对象的3种基本方式(工厂模式,构造函数模式,原型模式)
2017/01/09 Javascript
推荐三款日期选择插件(My97DatePicker、jquery.datepicker、Mobiscroll)
2017/04/21 jQuery
Angular2使用Augury来调试Angular2程序
2017/05/21 Javascript
JS使用ActiveXObject实现用户提交表单时屏蔽敏感词功能
2017/06/20 Javascript
JavaScript ES6中的简写语法总结与使用技巧
2018/12/30 Javascript
electron-vue开发环境内存泄漏问题汇总
2019/10/10 Javascript
vue中的mescroll搜索运用及各种填坑处理
2019/10/30 Javascript
vue-cli脚手架的.babelrc文件用法说明
2020/09/11 Javascript
python dict 字典 以及 赋值 引用的一些实例(详解)
2017/01/20 Python
使用Python抓取豆瓣影评数据的方法
2018/10/17 Python
Python3爬虫使用Fidder实现APP爬取示例
2018/11/27 Python
Python操作Mongodb数据库的方法小结
2019/09/10 Python
给大家整理了19个pythonic的编程习惯(小结)
2019/09/25 Python
如何查看python关键字
2021/01/17 Python
你正在寻找的CSS3 动画技术
2011/07/27 HTML / CSS
adidas官方旗舰店:德国运动用品制造商
2017/11/25 全球购物
美国家居装饰和豪华家具购物网站:One Kings Lane
2018/12/24 全球购物
super关键字的用法
2012/04/10 面试题
校园歌手大赛策划书
2014/01/17 职场文书
意外伤害赔偿协议书
2014/09/16 职场文书
2014县委书记党的群众路线教育实践活动对照检查材料思想汇报
2014/09/22 职场文书
个人买房协议书范本
2014/10/06 职场文书
2014年精神文明工作总结
2014/12/23 职场文书
古诗之爱国古诗5首
2019/09/20 职场文书