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
  • 转载请注明出处,谢谢!
查看全文
  • 相关阅读:
    【UML】类图Class diagram(转)
    【UML】用例图Use Case diagram(转)
    【UML】概述
    JAVA设计模式之单例模式
    Java 设计模式之中介者模式
    Java设计模式之访问者模式
    Java设计模式之命令模式
    Java设计模式之责任链模式、职责链模式
    Java设计模式之迭代子模式
    npm install说明
  • 原文地址:https://www.cnblogs.com/MikeZhang/p/linesCountPython20120823.html
  • Copyright © 2011-2022 走看看