python实现代码行数统计示例分享

yipeiwu_com6年前Python基础

复制代码 代码如下:

#!/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删除文本中行数标签的方法

问题描述: 我们在网上下载或者复制别人代码的时候经常会遇到下载的代码中包含行数标签的情况。如下图: 这些代码中包含着行数如1.,2.等,如果我们想直接运行或者copy代码需要自己手动的...

python实现图片识别汽车功能

python实现图片识别汽车功能

本文实例为大家分享了python实现图片识别汽车的具体代码,供大家参考,具体内容如下 准备工作 1、登陆开发者控制台 2、安装 pip install baidu-aip 模块 原...

Python3.5面向对象程序设计之类的继承和多态详解

Python3.5面向对象程序设计之类的继承和多态详解

本文实例讲述了Python3.5面向对象程序设计之类的继承和多态。分享给大家供大家参考,具体如下: 1、继承的定义 继承是指:可以使用现有类的所有功能,并在无需重新编写原来的类的情况下...

python使用opencv实现马赛克效果示例

python使用opencv实现马赛克效果示例

本文实例讲述了python使用opencv实现马赛克效果。分享给大家供大家参考,具体如下: 最近要实现opencv视频打马赛克,在网上找了一下基本是C++的实现,好在原理一样,下面给出p...

详解python中的线程

Python中创建线程有两种方式:函数或者用类来创建线程对象。 函数式:调用 _thread 模块中的start_new_thread()函数来产生新线程。 类:创建threading...