Python脚本实现代码行数统计代码分享

yipeiwu_com5年前Python基础

之前用bash实现过(/post/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 ~

运行效果

好,就这些了,希望对你有帮助。

相关文章

DataFrame中的object转换成float的方法

DataFrame中的object转换成float的方法

数据类型转换: 今天遇到一个问题,就是DataFrame类型的数据里是str型的数字,想把数字转换为int 或float;百度没有发现好的,也可能输入的关键字不对,找不到; DataFr...

详解Python pygame安装过程笔记

今天看到一个教程,是关于Python安装pygame模块的。觉得很好,拿来分享一下。 安装Python 额,这个小题貌似在这里很是多余啊。但是为了照顾到刚刚学习Python的童鞋,我还是...

Python基于sftp及rsa密匙实现远程拷贝文件的方法

本文实例讲述了Python基于sftp及rsa密匙实现远程拷贝文件的方法。分享给大家供大家参考,具体如下: 如果两台服务器之间使用了RSA秘钥免密码登录的方式,可以先查找出rsa秘钥的对...

python先序遍历二叉树问题

python先序遍历二叉树问题

问题 如何遍历一个二叉树 遍历二叉树就是访问二叉树的每一个节点 二叉树父结点下先左访问,先序遍历(根左右) 例如:遍历以下的二叉树 遍历结果:ABDECF Python代码示例...

PyQtGraph在pyqt中的应用及安装过程

PyQtGraph在pyqt中的应用及安装过程

1.PyQtGraph简介: pyqtgraph的主要用途: 1、为数据、绘图、视频等提供快速、可交互图形显示。 2、提供快速开发应用的工具。 2.PyQtGraph的安装: pip i...