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的身份证号码自动生成程序
Aug 15 Python
Python中的生成器和yield详细介绍
Jan 09 Python
详细解读Python的web.py框架下的application.py模块
May 02 Python
常见的python正则用法实例讲解
Jun 21 Python
python结合selenium获取XX省交通违章数据的实现思路及代码
Jun 26 Python
Python文件与文件夹常见基本操作总结
Sep 19 Python
python实现的多线程端口扫描功能示例
Jan 21 Python
Python中的Django基本命令实例详解
Jul 15 Python
解决python3 pika之连接断开的问题
Dec 18 Python
Python获取基金网站网页内容、使用BeautifulSoup库分析html操作示例
Jun 04 Python
python 使用shutil复制图片的例子
Dec 13 Python
pandas 实现将NaN转换为None
May 14 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打开文件fopen函数的使用说明
2013/07/05 PHP
解决cPanel无法安装php5.2.17
2014/06/22 PHP
PHP使用curl模拟post上传及接收文件的方法
2016/03/04 PHP
PHP读取Excel类文件
2017/05/15 PHP
php 猴子摘桃的算法
2017/06/20 PHP
PHP工厂模式、单例模式与注册树模式实例详解
2019/06/03 PHP
php设计模式之单例模式用法经典示例分析
2019/09/20 PHP
JavaScript CSS 修改学习第四章 透明度设置
2010/02/19 Javascript
Javascript数组的排序 sort()方法和reverse()方法
2012/06/04 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
2013/09/02 Javascript
javascript中的3种继承实现方法
2016/01/27 Javascript
JS获取IMG图片高宽的简单实例
2016/05/17 Javascript
如何让你的JS代码更好看易读
2017/12/01 Javascript
详解Angular调试技巧之报错404(not found)
2018/01/31 Javascript
在vue中获取token,并将token写进header的方法
2018/09/26 Javascript
uni-app之APP和小程序微信授权方法
2019/05/09 Javascript
nodejs读取图片返回给浏览器显示
2019/07/25 NodeJs
详解Vue中CSS样式穿透问题
2019/09/12 Javascript
element-ui树形控件后台返回的数据+生成组织树的工具类
2020/03/05 Javascript
js实现拖拽元素选择和删除
2020/08/25 Javascript
python 字符串split的用法分享
2013/03/23 Python
Python群发邮件实例代码
2014/01/03 Python
Python实现约瑟夫环问题的方法
2016/05/03 Python
Numpy数据类型转换astype,dtype的方法
2018/06/09 Python
对Python 内建函数和保留字详解
2018/10/15 Python
详解PyTorch手写数字识别(MNIST数据集)
2019/08/16 Python
详解PyQt5中textBrowser显示print语句输出的简单方法
2020/08/07 Python
详解CSS3伸缩布局盒模型Flex布局
2018/08/20 HTML / CSS
介绍一下Linux中的链接
2016/06/05 面试题
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
2013/02/17 面试题
2013年高中生自我评价
2013/10/23 职场文书
运动会加油口号
2014/06/07 职场文书
中学教师暑期培训方案
2014/08/27 职场文书
2015领导干部廉洁自律工作总结
2015/07/23 职场文书
解决Pytorch半精度浮点型网络训练的问题
2021/05/24 Python
Python连接Postgres/Mysql/Mongo数据库基本操作大全
2021/06/29 Python