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运行效率
Jun 09 Python
python数据处理实战(必看篇)
Jun 11 Python
对python numpy数组中冒号的使用方法详解
Apr 17 Python
深入浅析Python传值与传址
Jul 10 Python
python的mysql数据库建立表与插入数据操作示例
Sep 30 Python
Pytorch evaluation每次运行结果不同的解决
Jan 02 Python
Pytorch技巧:DataLoader的collate_fn参数使用详解
Jan 08 Python
关于tf.nn.dynamic_rnn返回值详解
Jan 20 Python
Python matplotlib修改默认字体的操作
Mar 05 Python
pandas 强制类型转换 df.astype实例
Apr 09 Python
python 如何做一个识别率百分百的OCR
May 29 Python
Python必备技巧之字符数据操作详解
Mar 23 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
sourcesafe管理phpproj文件的补充说明(downmoon)
2009/04/11 PHP
10个实用的PHP代码片段
2011/09/02 PHP
PHP关联数组的10个操作技巧
2013/01/21 PHP
php基于dom实现读取图书xml格式数据的方法
2017/02/03 PHP
传智播客学习之JavaScript基础篇
2009/11/13 Javascript
jQuery 源码分析笔记(5) jQuery.support
2011/06/19 Javascript
js登录弹出层特效
2014/03/07 Javascript
全面兼容的javascript时间格式化函数(比较实用)
2014/05/14 Javascript
Jquery修改页面标题title其它JS失效的解决方法
2014/10/31 Javascript
node.js中的http.response.end方法使用说明
2014/12/14 Javascript
Jquery实现textarea根据文本内容自适应高度
2015/04/03 Javascript
谈谈JavaScript类型系统之Math
2016/01/06 Javascript
轻松实现Bootstrap图片轮播
2020/04/20 Javascript
jQuery Mobile页面返回不需要重新get
2016/04/26 Javascript
JS全局变量和局部变量最新解析
2016/06/24 Javascript
js实现旋转木马效果
2017/03/17 Javascript
彻底理解js面向对象之继承
2018/02/04 Javascript
详解在React里使用"Vuex"
2018/04/02 Javascript
微信小程序自定义组件实现tabs选项卡功能
2018/07/14 Javascript
vue 导出文件,携带请求头token操作
2020/09/10 Javascript
原生JS运动实现轮播图
2021/01/02 Javascript
[01:08]2014DOTA2展望TI 剑指西雅图LGD战队专访
2014/06/30 DOTA
python中日期和时间格式化输出的方法小结
2015/03/19 Python
python学习教程之Numpy和Pandas的使用
2017/09/11 Python
R vs. Python 数据分析中谁与争锋?
2017/10/18 Python
python 利用栈和队列模拟递归的过程
2018/05/29 Python
python将字符串以utf-8格式保存在txt文件中的方法
2018/10/30 Python
Pycharm+Python+PyQt5使用详解
2019/09/25 Python
python3实现网页版raspberry pi(树莓派)小车控制
2020/02/12 Python
html5中canvas图表实现柱状图的示例
2017/11/13 HTML / CSS
Internet体系结构
2014/12/21 面试题
机关中层领导干部群众路线教育实践活动个人对照检查材料
2014/09/24 职场文书
2014年煤矿工人工作总结
2014/12/08 职场文书
2016北大自主招生自荐信模板
2016/01/28 职场文书
JavaScript实现班级抽签小程序
2021/05/19 Javascript
Python函数中apply、map、applymap的区别
2021/11/27 Python