python 统计代码行数简单实例

1045次阅读  |  发布于5年以前

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.sep+'dev_workspace'+os.sep+'AptanaStudio3'+os.sep+'webhost' 

      allfiles = 0 
      allline = 0 

      for root,dirs,files in os.walk(host): 
        for afile in files: 

          if(root.startswith(host+os.sep+'entries')): 
            continue 
          elif(root.startswith(host+os.sep+'.svn')): 
            continue 
          elif(root.startswith(host+os.sep+'.settings')): 
            continue 
          elif(root.startswith(host+os.sep+'logs')): 
            continue 
          elif(root.startswith(host+os.sep+'static')): 
            continue  
          elif(root.startswith(host+os.sep+'payload'+os.sep+'.svn')): 
            continue 
          elif(root.startswith(host+os.sep+'dist'+os.sep+'.svn')): 
            continue 
          elif(root.startswith(host+os.sep+'dsync'+os.sep+'.svn')): 
            continue 
          elif(root.startswith(host+os.sep+'hcache'+os.sep+'.svn')): 
            continue 
          elif(root.startswith(host+os.sep+'test'+os.sep+'.svn')): 
            continue 
          elif(root.startswith(host+os.sep+'webhost'+os.sep+'.svn')): 
            continue 
          elif(root.startswith(host+os.sep+'wsgi'+os.sep+'.svn')): 
            continue 
          elif(root.startswith(host+os.sep+'hcache'+os.sep+'templates'+os.sep+'.svn')): 
            continue 
          elif(root.startswith(host+os.sep+'dsync'+os.sep+'hcache'+os.sep+'.svn')): 
            continue 
          else:  
            ext = afile.split('.') 
            ext = ext[-1] 
            if (ext in ['py','css','js','html','txt','docx','wsgi']): 
              itpath = root+os.sep+afile 
              allfiles += 1 
              allline +=afileline(itpath) 
              print (root+os.sep+afile) 

      print ('Total: ',allfiles) 
      print ('Total lines:',allline) 

之后可以将此改造下便于以后的代码统计

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8