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

之前用bash实现过(http://www.jb51.net/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 ~

运行效果

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

(0)

相关推荐

  • Python3读取UTF-8文件及统计文件行数的方法

    本文实例讲述了Python3读取UTF-8文件及统计文件行数的方法.分享给大家供大家参考.具体实现方法如下: ''''' Created on Dec 21, 2012 Python 读取UTF-8文件 统计文件的行数目 @author: liury_lab ''' # -*- coding: utf-8 -*- import codecs # 对较小的文件,最简单的方法是将文件读入一个行列表中, # 然后计算列表的长度即可 count = len(codecs.open('d:/FreakOu

  • Python实现统计代码行的方法分析

    本文实例讲述了Python实现统计代码行的方法.分享给大家供大家参考,具体如下: 参加光荣之路测试开发班已三月有余,吴总上课也总问" 咱们的课上了这么多次了大家实践了多少行代码了?".这里是一个一脸懵逼的表情.该怎么统计呢?一个个文件数当然不可取,能用代码解决的事咱们坚决不动手.最近在网上刷题时也正好遇到有这么一道题,所以决定撸一撸. 题目:有个目录,里面是你自己写过的程序,统计一下你写过多少行代码.包括空行和注释,但是要分别列出来. 首先分析一下思路捋一下大象装冰箱的步骤,从一个给定

  • 使用python统计文件行数示例分享

    复制代码 代码如下: import time def block(file,size=65536):    while True:        nb = file.read(size)        if not nb:           break        yield nb def getLineCount(filename):    with open(filename,"r",encoding="utf-8") as f:        return

  • python实现统计代码行数的方法

    本文实例讲述了python实现统计代码行数的方法.分享给大家供大家参考.具体实现方法如下: ''' Author: liupengfei Function: count lines of code in a folder iteratively Shell-format: cmd [dir] Attention: default file encode is utf8 and default file type is java-source-file. But users can customi

  • Python中统计函数运行耗时的方法

    本文实例讲述了Python中统计函数运行耗时的方法.分享给大家供大家参考.具体实现方法如下: import time def time_me(fn): def _wrapper(*args, **kwargs): start = time.clock() fn(*args, **kwargs) print "%s cost %s second"%(fn.__name__, time.clock() - start) return _wrapper #这个装饰器可以在方便地统计函数运行的

  • Python实现对excel文件列表值进行统计的方法

    本文实例讲述了Python实现对excel文件列表值进行统计的方法.分享给大家供大家参考.具体如下: #!/usr/bin/env python #coding=gbk #此PY用来统计一个execl文件中的特定一列的值的分类 import win32com.client filename=raw_input("请输入要统计文件的详细地址:") flag=0 #用于判断文件 名如果不带'日'就为 0 if '\xc8\xd5' in filename:flag=1 print 50*'

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

    复制代码 代码如下: #!/usr/bin/python '''        File      : count.py        Author    : Mike        E-Mail    : Mike_Zhang@live.com'''import sys,os extens = [".c",".cpp",".hpp",".h"]linesCount = 0filesCount = 0 def funCount

  • python统计一个文本中重复行数的方法

    本文实例讲述了python统计一个文本中重复行数的方法.分享给大家供大家参考.具体实现方法如下: 比如有下面一个文件 2 3 1 2 我们期望得到 2,2 3,1 1,1 解决问题的思路: 出现的文本作为key, 出现的数目作为value,然后按照value排除后输出 最好按照value从大到小输出出来,可以参照: 复制代码 代码如下: in recent Python 2.7, we have new OrderedDict type, which remembers the order in

  • python 统计代码行数简单实例

     python 统计代码行数简单实例 送测的时候,发现需要统计代码行数 于是写了个小程序统计自己的代码的行数. #calclate_code_lines.py import os def afileline(f_path): res = 0 f = open(f_path) for lines in f: if lines.split(): res += 1 return res if __name__=='__main__': host = 'E:'+os.sep+'develop'+os.s

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

    之前用bash实现过(http://www.jb51.net/article/61943.htm),不过那个不能在windows下使用,所以就写了个python版,也方便我以后使用--这里就不多介绍了,不懂的google下. 实现代码 复制代码 代码如下: #!/usr/bin/python '''         File      : count.py         Author    : Mike         E-Mail    : Mike_Zhang@live.com ''' i

  • Shell脚本实现C语言代码行数统计

    写了一个比较粗糙的C语言代码行数统计脚本,目前还有些bug,而且效率也不高.脚本主要就是去除大部分的注释后统计行数,相当于做了一部分预处理的工作.下面是代码: #!/bin/bash filename=$1 echo "`whoami`" if [ $# -lt 1 ];then echo "usage : ./scripts filename" exit -1 fi if [ ! -f $filename ];then echo "$filename i

  • C#统计C、C++及C#程序代码行数的方法

    本文实例讲述了C#统计C.C++及C#程序代码行数的方法.分享给大家供大家参考.具体如下: 本文中的两个函数 1)用于统计扩展名为 .h .c .cpp .cs 文件的代码行数 public static int LinesOfCode(string filename) 2)用于递归统计一个文件夹内所有扩展名为 .h .c .cpp .cs 文件的代码行数 public static int LinesOfFolder(string foldername) 一.什么样的情况算一行代码 需要注意如

  • python统计指定目录内文件的代码行数

    python统计指定目录内文件的代码行数,程序实现统计指定目录内各个python文件的代码总行数,注释行数,空行数,并算出所占百分比 这符合一些公司的小需求,实际代码量的统计工作 效果如图 代码如下: #coding:utf-8 import os,re #代码所在目录 FILE_PATH = './' def analyze_code(codefilesource): ''' 打开一个py文件,统计其中的代码行数,包括空行和注释 返回含该文件总行数,注释行数,空行数的列表 :param cod

  • python实现统计代码行数的小工具

    一个用python实现的统计代码行数的小工具,供大家参考,具体内容如下 实现功能 计算出某一目录以及子目录下代码文件的行数 在计算代码的过程中,只对标准命名的文件进行统计,如[文件名.文件类型] 排除了以"#"开头的包含文件,宏定义等,如#include, #define, #pragma等 排除了c,cpp文件中的"//", "/-/"等的注释 排除了python文件中import, from 等开头的导入 使用方法 新建countLines.

  • shell 命令统计代码行数的简单代码

    分享一个统计代码行的shell命令: find . "(" -name ".java" -or -name ".html" -or -name ".js" -or -name ".css" ")" -print | xargs wc -l 根据不同的项目类型,不同的目录,自行修改. 如果内容多,可以: find . "(" -name ".java"

  • iOS开发之统计Xcode工程的代码行数

    话不多说了,方法如下: 一.打开终端,用cd命令 定位到工程所在的目录,然后调用以下命名即可把每个源代码文件行数及总数统计出来: find . "(" -name "*.m" -or -name "*.mm" -or -name "*.cpp" -or -name "*.h" -or -name "*.rss" ")" -print | xargs wc -l 其中,

随机推荐