• 代码行数统计(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
  • 转载请注明出处,谢谢!
  • 相关阅读:
    discuz X3.2 自定义系统广告详解
    windows平台myeclipse+PDT+apache+xdebug调试php
    南浮的IT民工
    linux实践——编译安装两个apache
    如何使maven+jetty运行时不锁定js和css[转]
    linux实践——ubuntu搭建 svn 服务
    测试代码插件(插入代码块)
    FTP 文件接口按天批处理脚本实例
    7月份工作小结
    报表开发过程
  • 原文地址:https://www.cnblogs.com/MikeZhang/p/linesCountPython20120823.html
  • Copyright © 2020-2023  润新知