python实现代码统计器


Posted in Python onSeptember 19, 2019

本文实例为大家分享了python中的代码行数统计,供大家参考,具体内容如下

思路:统计文件中代码的总行数减去空行单行注释以及多行注释

功能:

1.获取文件内容的总行数

2.排除空行 单行注释 多行注释

def code_statistics(path):
 # # 打开这个文件
 with open(path, 'r', encoding='utf-8') as openFile:
  # 按列读取
  fileline = openFile.readlines()
  # 给非代码行一个变量
  i = 0
  # 整个文件里面内容的总行数
  number_line = len(fileline)
  # 给多行注释一个状态
  note = False
  # 遍历文件内容
  for line in fileline:
   # 空行
   if line == '\n':
    i += 1
   # 单行注释
   elif re.findall('[#]', line):
    i += 1
   # 多行注释开头
   elif re.findall("\'\'\'", line) and note == False:
    i += 1
    note = True
   # 多行注释结尾
   elif re.findall("\'\'\'", line) and note == True:
    i += 1
    note = False
   # 多行注释内部注释
   elif note:
    i += 1
  num_code_line = number_line - i
  print(num_code_line)

如果统计文件夹中的python文件的代码行数,首先就是要遍历文件目录,筛选出以.py结尾的文件,再去统计py文件里面的代码行数

def get_all_fire(path):
 # 得到当前目录下的所有文件
 file_list = os.listdir(path)
 py_file_abs = []
 # 遍历所有文件
 for file_name in file_list:
  # 获取文件及文件夹的绝对路径
  file_abs = os.path.join(path, file_name)
  if os.path.isfile(file_abs) and file_name.endswith('.py'): # 判断当前文件路径是否是文件和.py文件
   py_file_abs.append(file_abs)
   # 判断当前文件路径是不是文件夹
  elif os.path.isdir(file_abs):
   py_file_abs += get_all_fire(file_abs)
 return py_file_abs

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python查看多台服务器进程的脚本分享
Jun 11 Python
python获取文件后缀名及批量更新目录下文件后缀名的方法
Nov 11 Python
举例介绍Python中的25个隐藏特性
Mar 30 Python
详解在Python的Django框架中创建模板库的方法
Jul 20 Python
pandas对dataFrame中某一个列的数据进行处理的方法
Jul 08 Python
深入学习python多线程与GIL
Aug 26 Python
python绘制BA无标度网络示例代码
Nov 21 Python
python opencv实现gif图片分解的示例代码
Dec 13 Python
python怎么删除缓存文件
Jul 19 Python
如何用Matplotlib 画三维图的示例代码
Jul 28 Python
python正则表达式 匹配反斜杠的操作方法
Aug 07 Python
通用的Django注册功能模块实现方法
Feb 05 Python
python实现代码统计程序
Sep 19 #Python
python tkinter图形界面代码统计工具(更新)
Sep 18 #Python
python3获取url文件大小示例代码
Sep 18 #Python
弄懂这56个Python使用技巧(轻松掌握Python高效开发)
Sep 18 #Python
python3使用GUI统计代码量
Sep 18 #Python
django中的图片验证码功能
Sep 18 #Python
python tkinter图形界面代码统计工具
Sep 18 #Python
You might like
php截取后台登陆密码的代码
2012/05/05 PHP
PHP调试函数和日志记录函数分享
2015/01/31 PHP
php类的定义与继承用法实例
2015/07/07 PHP
PHP实现自动发送邮件功能代码(qq 邮箱)
2017/08/18 PHP
animate动画示例(泪奔的小孩)及stop和delay的使用
2013/05/06 Javascript
ajax请求get与post的区别总结
2013/11/04 Javascript
jquery 重写 ajax提交并判断权限后 使用load方法报错解决方法
2016/01/19 Javascript
js中获取时间new Date()的全面介绍
2016/06/20 Javascript
jQuery+ajax实现实用的点赞插件代码
2016/07/06 Javascript
微信小程序 简单教程实例详解
2017/01/13 Javascript
Javascript中 带名 匿名 箭头函数的重要区别(推荐)
2017/01/29 Javascript
Vue Spa切换页面时更改标题的实例代码
2017/07/15 Javascript
vue+webpack实现异步组件加载的方法
2018/02/03 Javascript
Vue组件和Route的生命周期实例详解
2018/02/10 Javascript
Vue实现动态创建和删除数据的方法
2018/03/17 Javascript
[52:40]完美世界DOTA2联赛PWL S2 Magma vs GXR 第一场 11.29
2020/12/02 DOTA
Flask框架学习笔记(一)安装篇(windows安装与centos安装)
2014/06/25 Python
Python 不同对象比较大小示例探讨
2014/08/21 Python
详解python 3.6 安装json 模块(simplejson)
2019/04/02 Python
python 通过视频url获取视频的宽高方式
2019/12/10 Python
关于Pytorch的MNIST数据集的预处理详解
2020/01/10 Python
python+playwright微软自动化工具的使用
2021/02/02 Python
sklearn中的交叉验证的实现(Cross-Validation)
2021/02/22 Python
移动端Html5中百度地图的点击事件
2019/01/31 HTML / CSS
加拿大百叶窗和窗帘定制网站:Blinds
2017/01/30 全球购物
佐卡伊官网:中国知名珠宝品牌
2017/02/05 全球购物
Casetify官网:自制专属手机壳、iPad护壳和Apple Watch手表带
2018/05/09 全球购物
澳大利亚购买最佳炊具品牌网站:Cookware Brands
2019/02/16 全球购物
党校学习思想汇报
2014/01/06 职场文书
企业员工薪酬方案
2014/06/04 职场文书
大学生找工作求职信
2014/07/09 职场文书
2014年电话销售工作总结
2014/12/01 职场文书
升职自我推荐信范文
2015/03/25 职场文书
六一儿童节园长致辞
2015/07/31 职场文书
关于艺术节的开幕致辞
2016/03/04 职场文书
坚持不是死撑,更重要的是心态
2019/08/19 职场文书