zoukankan      html  css  js  c++  java
  • 代码行数统计(python实现)

    之前用bash实现过(http://www.cnblogs.com/MikeZhang/archive/2012/08/22/linesCountBash20120822.html ),不过那个不能在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 ~

    运行效果

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

  • E-Mail : Mike_Zhang@live.com
  • 转载请注明出处,谢谢!
查看全文
  • 相关阅读:
    平台总体技术架构
    防控激活
    dse测试说明
    设置内核tcp连接数
    删除topic的尝试
    用Jmeter进行接口压力测试的步骤
    性能测试
    配置文件的修改
    mysql 监控
    电子栅栏sql和接口查询
  • 原文地址:https://www.cnblogs.com/MikeZhang/p/linesCountPython20120823.html
  • Copyright © 2011-2022 走看看