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实现将n个点均匀地分布在球面上的方法
Mar 12 Python
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
May 17 Python
django批量导入xml数据
Oct 16 Python
python3下实现搜狗AI API的代码示例
Apr 10 Python
python实现时间o(1)的最小栈的实例代码
Jul 23 Python
TensorFlow实现模型评估
Sep 07 Python
Python 实现某个功能每隔一段时间被执行一次的功能方法
Oct 14 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
Jan 30 Python
Python实现微信消息防撤回功能的实例代码
Apr 29 Python
Python 多线程其他属性以及继承Thread类详解
Aug 28 Python
利用python+ffmpeg合并B站视频及格式转换的实例代码
Nov 24 Python
python 进阶学习之python装饰器小结
Sep 04 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三元运算符知识汇总
2015/07/02 PHP
phpmyadmin下载、安装、配置教程
2017/05/16 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
2018/01/20 PHP
AutoSave/自动存储功能实现
2007/03/24 Javascript
JAVASCRIPT style 中visibility和display之间的区别
2010/01/22 Javascript
IE6/7/8/9不支持exec的简写方式
2011/05/25 Javascript
DWZ刷新dialog解决方法
2013/03/03 Javascript
jQuery的3种请求方式$.post,$.get,$.getJSON
2014/03/28 Javascript
js绘制圆形和矩形的方法
2015/08/05 Javascript
jQuery解析json格式数据简单实例
2016/01/22 Javascript
jQuery使用cookie与json简单实现购物车功能
2016/04/15 Javascript
NodeJS远程代码执行
2016/08/28 NodeJs
JS 调用微信扫一扫功能
2016/12/22 Javascript
详解如何在Vue2中实现组件props双向绑定
2017/03/29 Javascript
详谈jQuery.load()和Jsp的include的区别
2017/04/12 jQuery
node.js平台下利用cookie实现记住密码登陆(Express+Ejs+Mysql)
2017/04/26 Javascript
利用Mongoose让JSON数据直接插入或更新到MongoDB
2017/05/03 Javascript
详解Angular4中路由Router类的跳转navigate
2017/06/09 Javascript
JavaScript之RegExp_动力节点Java学院整理
2017/06/29 Javascript
express如何使用session与cookie的方法
2018/01/30 Javascript
Express进阶之log4js实用入门指南
2018/02/10 Javascript
详解JavaScript中typeof与instanceof用法
2018/10/24 Javascript
node.js中事件触发器events的使用方法实例分析
2019/11/23 Javascript
Angular封装表单控件及思想总结
2019/12/11 Javascript
js实现自定义滚动条的示例
2020/10/27 Javascript
js删除指定位置超链接中含有百度与360的标题
2021/01/06 Javascript
[52:44]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第一场 6.3
2018/06/04 DOTA
Pycharm学习教程(1) 定制外观
2017/05/02 Python
用Pycharm实现鼠标滚轮控制字体大小的方法
2019/01/15 Python
pandas如何处理缺失值
2019/07/31 Python
django-csrf使用和禁用方式
2020/03/13 Python
Application Cache未缓存文件无法访问无法加载问题
2014/05/31 HTML / CSS
洛杉矶健身中心女性专用运动服饰品牌:Marika
2018/05/09 全球购物
ShellScript面试题一则-ShellScript编程
2014/06/24 面试题
办公室班子四风问题对照检查材料
2014/10/04 职场文书
2014年计划生育协会工作总结
2014/11/14 职场文书