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) 

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

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

相关文章

pyqt5 tablewidget 利用线程动态刷新数据的方法

pyqt5 tablewidget 利用线程动态刷新数据的方法

问题 知道要用线程,所以就先尝试写了一个线程,然后每次都获取数据,然后直接通过这种方法来朝table里面更新数据。 #python代码 table=MainWindow_ui.tab...

Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息示例

本文实例讲述了Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息。分享给大家供大家参考,具体如下: 说明:此代码用于接收手机微信端发送的消息 #-*- cod...

基于Django统计博客文章阅读量

如何精确地记录一篇文章的阅读量是一个比较复杂的问题,不过对于我们的博客来说,没有必要记录的那么精确。因此我们使用一种简单但有效的方式来记录博客文章的阅读量:文章每被浏览一次,则其阅读量...

Python 基础之字符串string详解及实例

Python字符串(string) 详解 及 代码 Python的字符串可以使用单引号('), 双引号("), 三引号('''); 三引号(''')里面, 可以添加单引号和双引号, 也可...

Django自带的加密算法及加密模块详解

Django 内置的User类提供了用户密码的存储、验证、修改等功能,可以很方便你的给用户提供密码服务。 默认的Ddjango使用pbkdf2_sha256方式来存储和管理用的密码,当然...