python 统计代码行数简单实例

yipeiwu_com6年前Python基础

 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) 

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

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

相关文章

Python 实现中值滤波、均值滤波的方法

Python 实现中值滤波、均值滤波的方法

红包: Lena椒盐噪声图片: # -*- coding: utf-8 -*- """ Created on Sat Oct 14 22:16:47 2017 @author:...

python使用turtle库绘制树

本文实例为大家分享了python使用turtle库绘制树的具体代码,供大家参考,具体内容如下 # -*- coding: utf-8 -*- """ Spyder Editor...

python2 与python3的print区别小结

在Python2和Python3中都提供print()方法来打印信息,但两个版本间的print稍微有差异 主要体现在以下几个方面: 1.python3中print是一个内置函数,有多个参...

浅谈python socket函数中,send与sendall的区别与使用方法

在python socket编程中,有两个发送TCP的函数,send()与sendall(),区别如下: socket.send(string[, flags])  发送TCP数据,返回...

跟老齐学Python之集合的关系

跟老齐学Python之集合的关系

冻结的集合 前面一节讲述了集合的基本概念,注意,那里所涉及到的集合都是可原处修改的集合。还有一种集合,不能在原处修改。这种集合的创建方法是: >>> f_set =...