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发送邮件接收邮件示例分享
Jan 21 Python
高质量Python代码编写的5个优化技巧
Nov 16 Python
python中kmeans聚类实现代码
Feb 23 Python
Python 循环语句之 while,for语句详解
Apr 23 Python
python logging重复记录日志问题的解决方法
Jul 12 Python
对Tensorflow中的矩阵运算函数详解
Jul 27 Python
python dlib人脸识别代码实例
Apr 04 Python
pyqt5 删除layout中的所有widget方法
Jun 25 Python
Python模块/包/库安装的六种方法及区别
Feb 24 Python
Python描述数据结构学习之哈夫曼树篇
Sep 07 Python
Python用dilb提取照片上人脸的示例
Oct 26 Python
PYTHON基于Pyecharts绘制常见的直角坐标系图表
Apr 28 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输出英文时间日期的安全方法(RFC 1123格式)
2014/06/13 PHP
php筛选不存在的图片资源
2015/04/28 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
利用javascript中的call实现继承
2007/01/22 Javascript
ext读取两种结构的xml的代码
2008/11/05 Javascript
jquery绑定原理 简单解析与实现代码分享
2011/09/06 Javascript
ASP.NET MVC中EasyUI的datagrid跨域调用实现代码
2012/03/14 Javascript
jQuery延迟加载图片插件Lazy Load使用指南
2015/03/25 Javascript
jQuery插件Elastislide实现响应式的焦点图无缝滚动切换特效
2015/04/12 Javascript
jQuery中prepend()方法使用详解
2015/08/11 Javascript
7个去伪存真的JavaScript面试题
2016/01/07 Javascript
全面解析Bootstrap中nav、collapse的使用方法
2016/05/22 Javascript
js基于cookie方式记住返回页面用法示例
2016/05/27 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
2016/10/10 Javascript
BootStrap Table前台和后台分页对JSON格式的要求
2017/06/28 Javascript
vue-cli webpack 引入jquery的方法
2018/01/10 jQuery
vue源码学习之Object.defineProperty对象属性监听
2018/05/30 Javascript
vue-cli history模式实现tomcat部署报404的解决方式
2019/09/06 Javascript
ES6 Generator基本使用方法示例
2020/06/06 Javascript
js实现车辆管理系统
2020/08/26 Javascript
[00:52]DOTA2第二届亚洲邀请赛预选赛宣传片
2017/01/13 DOTA
Python实现查看系统启动项功能示例
2018/05/10 Python
基于python神经卷积网络的人脸识别
2018/05/24 Python
python使用xlrd模块读取xlsx文件中的ip方法
2019/01/11 Python
在linux系统下安装python librtmp包的实现方法
2019/07/22 Python
Python 使用 prettytable 库打印表格美化输出功能
2019/12/26 Python
python利用opencv实现颜色检测
2021/02/23 Python
HTML5新增属性data-*和js/jquery之间的交互及注意事项
2017/08/08 HTML / CSS
西班牙英格列斯百货法国官网:El Corte Inglés法国
2017/07/09 全球购物
水上运动奥特莱斯:Wasterports Outlet
2018/08/08 全球购物
德国大型和小型家用电器网上商店:Energeto
2019/05/15 全球购物
Oracle的内存结构(Memory structures)
2015/06/10 面试题
MYSQL基础面试题
2012/05/13 面试题
企业培训简报范文
2015/07/20 职场文书
Python趣味实战之手把手教你实现举牌小人生成器
2021/06/07 Python
Python中的 No Module named ***问题及解决
2022/07/23 Python