• 统计代码中代码行、空行、注释行的个数


    在编写过程中,需要用到glob库,使用方法请参考http://python.jobbole.com/81552/

    下面是统计单个文件的方法

    # coding:utf-8
    
    import os
    import glob
    
    
    def get_file(path):
    
        # filenames = os.listdir(path)
        # myfile = []
        # for file in filenames:
        #     mypath = path + '/' + file
        #     myfile.append(mypath)
        # return myfile
    
        return glob.glob(path + r'/*')
    
    
    def count_lines(files):
        
        codeline, blank, note = 0, 0, 0
    
        for filename in files:
            f = open(filename, 'rb')
            for l in f:
                l = l.strip()
                # sumrize['codeline'] += 1
                codeline += 1
                if l == '':
                    blank += 1
                elif l[0] == '#' or l[0] == '/':
                    note += 1
            f.close()
        return (codeline, blank, note)
    
    if __name__ == '__main__':
        files = get_file('.')
        print files
        lines = count_lines(files)
        print lines[0], lines[1], lines[2]

     下面是统计多个文件的方法

    # coding:utf-8
    
    import os
    import glob
    
    
    def get_file(path):
    
        return glob.glob(path + r'/*')
    
    
    def count_lines(files):
        sumrize = {}
    
        for i in range(len(files)):
            sumrize[i] = {}
            sumrize[i]['codeline'] = 0
            sumrize[i]['blank'] = 0
            sumrize[i]['note'] = 0
    
            f = open(files[i], 'rb')
            for l in f:
                l = l.strip()
                sumrize[i]['codeline'] += 1
                if l == '':
                    sumrize[i]['blank'] += 1
                elif l[0] == '#' or l[0] == '/':
                    sumrize[i]['note'] += 1
            f.close()
            print sumrize[i]
    
    if __name__ == '__main__':
        files = get_file('.')
        count_lines(files)    
  • 相关阅读:
    Kubernetes日志的6个最佳实践
    如何选出适合自己的管理Helm Chart的最佳方式?
    授权权限服务设计解析
    微服务中如何设计一个权限授权服务
    微服务中的网关
    ketchup服务治理
    ketchup 消息队列rabbitmq使用
    ketchup 注册中心consul使用
    微服务框架 ketchup 介绍
    微服务框架surging学习之路——序列化
  • 原文地址:https://www.cnblogs.com/milian0711/p/7730911.html
Copyright © 2020-2023  润新知