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计算圆周长、面积、球体体积并画出圆
Apr 08 Python
教大家玩转Python字符串处理的七种技巧
Mar 31 Python
python之virtualenv的简单使用方法(必看篇)
Nov 25 Python
Python基于多线程操作数据库相关问题分析
Jul 11 Python
python+splinter实现12306网站刷票并自动购票流程
Sep 25 Python
Python图像处理之图像的读取、显示与保存操作【测试可用】
Jan 04 Python
python实现彩色图转换成灰度图
Jan 15 Python
三个python爬虫项目实例代码
Dec 28 Python
python3读取csv文件任意行列代码实例
Jan 13 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
Aug 24 Python
python实现录制全屏和选择区域录屏功能
Feb 05 Python
使用python实现学生信息管理系统
Feb 25 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/04 咖啡文化
解析PHP中的正则表达式以及模式匹配
2013/06/19 PHP
PHP实现自动识别Restful API的返回内容类型
2015/02/07 PHP
php中判断数组相等的方法以及数组运算符介绍
2015/03/30 PHP
PHP数组操作简单案例分析
2016/10/15 PHP
javascript 事件查询综合 推荐收藏
2010/03/10 Javascript
如何使用jquery动态加载js,css文件实现代码
2013/04/03 Javascript
Jquery实现点击切换图片并隐藏显示内容(2种方法实现)
2013/04/11 Javascript
javascript使用switch case实现动态改变超级链接文字及地址
2014/12/16 Javascript
JS实现的表格操作类详解(添加,删除,排序,上移,下移)
2015/12/22 Javascript
three.js实现3D影院的原理的代码分析
2017/12/18 Javascript
puppeteer库入门初探
2019/01/09 Javascript
Vue中通过Vue.extend动态创建实例的方法
2019/08/13 Javascript
解决layui数据表格Date日期格式的回显Object的问题
2019/09/19 Javascript
vue监听用户输入和点击功能
2019/09/27 Javascript
解决Idea、WebStorm下使用Vue cli脚手架项目无法使用Webpack别名的问题
2019/10/11 Javascript
使用uni-app开发微信小程序的实现
2019/12/13 Javascript
js实现随机点名器精简版
2020/06/29 Javascript
JavaScript arguments.callee作用及替换方案详解
2020/09/02 Javascript
Vue——解决报错 Computed property "****" was assigned to but it has no setter.
2020/12/19 Vue.js
python计算时间差的方法
2015/05/20 Python
python数据结构之链表详解
2017/09/12 Python
Python基于列表模拟堆栈和队列功能示例
2018/01/05 Python
在PyCharm中三步完成PyPy解释器的配置的方法
2018/10/29 Python
教你如何编写、保存与运行Python程序的方法
2019/07/12 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
2020/01/14 Python
Python守护进程实现过程详解
2020/02/10 Python
python适合做数据挖掘吗
2020/06/16 Python
django filter过滤器实现显示某个类型指定字段不同值方式
2020/07/16 Python
Python 如何创建一个简单的REST接口
2020/07/30 Python
python 基于opencv 绘制图像轮廓
2020/12/11 Python
超30万乐谱下载:Musicnotes.com
2016/09/24 全球购物
社区两委对照检查材料
2014/08/23 职场文书
2015秋季开学典礼演讲稿
2015/07/16 职场文书
《家庭教育》读后感3篇
2019/12/18 职场文书
python 实现的截屏工具
2021/05/08 Python