转自:Python中文社区
我们经常想要统计项目的代码行数,但是如果想统计功能比较完善可能就不是那么简单了, 今天我们来看一下如何用python来实现一个代码行统计工具。
思路:首先获取所有文件,然后统计每个文件中代码的行数,最后将行数相加.
实现的功能:
统计每个文件的行数;
统计总行数;
统计运行时间;
支持指定统计文件类型,排除不想统计的文件类型;
递归统计文件夹下包括子文件件下的文件的行数;
排除空行;

windows路径用\\

# coding=utf-8
import os
import time
basedir = '/root/script'
filelists = []
# 指定想要统计的文件类型
whitelist = ['php', 'py']
#遍历文件, 递归遍历文件夹中的所有
def getFile(basedir):global filelistsfor parent,dirnames,filenames in os.walk(basedir):#for dirname in dirnames:#    getFile(os.path.join(parent,dirname)) #递归for filename in filenames:ext = filename.split('.')[-1]#只统计指定的文件类型,略过一些log和cache文件if ext in whitelist:filelists.append(os.path.join(parent,filename))
#统计一个文件的行数
def countLine(fname):count = 0for file_line in open(fname).xreadlines():if file_line != '' and file_line != '\n': #过滤掉空行count += 1print fname + '----' , countreturn count
if __name__ == '__main__' :startTime = time.clock()getFile(basedir)totalline = 0for filelist in filelists:totalline = totalline + countLine(filelist)print 'total lines:',totallineprint 'Done! Cost Time: %0.2f second' % (time.clock() - startTime)

结果:

[root@pythontab script]# python countCodeLine.py
/root/script/test/gametest.php---- 16
/root/script/smtp.php---- 284
/root/script/gametest.php---- 16
/root/script/countCodeLine.py---- 33
/root/script/sendmail.php---- 17
/root/script/test/gametest.php---- 16
total lines: 382
Done! Cost Time: 0.00 second
[root@pythontab script]#

只会统计php和python文件,非常方便。
其实大家还可以在此基础上进行改进,比如:排除注释行等等。

Python实现代码行数统计工具相关推荐

  1. python 代码行数统计工具_使用Python设计一个代码统计工具

    问题 设计一个程序,用于统计一个项目中的代码行数,包括文件个数,代码行数,注释行数,空行行数.尽量设计灵活一点可以通过输入不同参数来统计不同语言的项目,例如: # type用于指定文件类型 pytho ...

  2. python代码行数统计工具_Python实现代码行数统计工具的功能(实例)

    本篇文章给大家带来的内容是关于Python实现代码行数统计工具的功能(实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 我们经常想要统计项目的代码行数,但是如果想统计功能比较完善 ...

  3. Svn的代码行数统计工具statsvn以及使用

    Svn代码行数统计 代码工具svnstat svnstat.jar的下载路径 使用方法 将下载好的jar文件放于本地svn版本库的根目录下,即.svn文件夹的同级目录下. 新增文本文件,内容为 svn ...

  4. 代码行数统计工具statistic和cloc的使用

    简介 Cloc是一款使用Perl语言开发的开源代码统计工具,支持多平台使用.多语言识别,能够计算指定目标文件或文件夹中的文件数(files).空白行数(blank).注释行数(comment)和代码行 ...

  5. linux代码行数统计工具,统计代码行数工具 用golang实现

    首先:修改conf文件,配置要查找什么后缀的文件代码行数 使用方法:countcodeliine filename or nothing(计算可执行程序所在目录) 实现功能: 1,统计代码行数 2,可 ...

  6. JAVA代码行数统计工具(是时候看看程序员真实的的代码量了)

    Author:天添豆浆 计算机科学与技术专业,迷摇滚的理科男 新手村码农,第二篇博客,康康有啥新的有趣玩意儿. 总所周知,代码就是程序员的刀程序员的剑,也是程序员的履历的映射. 有想过自己的代码量有多 ...

  7. cloc JAVA文件_工具-cloc代码行数统计工具

    cloc 代码行统计工具 计算代码行.注释行.空行量的工具.支持多种语言. 例如统计一下vue项目里的src文件夹下的代码: 安装方式 npm install -g cloc # https://ww ...

  8. 代码行数统计工具SourceCounter

    下载地址:http://code.google.com/p/boomworks/wiki/SourceCounterCN 很容易就能统计出你写的代码的行数,只需要导入目录即可. 转载于:https:/ ...

  9. cloc工具 linux,Linux下源代码行数统计工具(sloccount,cloc等)

    在windows下总是有很多源代码统计工具, 比如SourceCounter(源代码统计精灵)等工具 之前我总是使用如下命令统计源代码的信息, 繁琐而可读性差 find . -type f -name ...

最新文章

  1. python2 转 python3 代码
  2. node.js获取本机Ip, hostName, mac
  3. PO/BO/VO/DTO/POJO/DAO/DO
  4. excel支持python吗_没有 Python,微软宣布 Excel 新增 JavaScript 支持
  5. run as date怎么用_熟词僻义 | date是一种什么水果?
  6. 音视频开发(18)---视频监控客户端开发(IP Camera)总结
  7. VB2010(1)_Hello User
  8. 考试倒计时,计算机二级重难点汇总【39套历年考题】
  9. Linux下线程经典问题(生产者消费者问题,哲学家问题...)
  10. 基于51单片机的多线程操作系统设计
  11. Avatarify-人脸驱动项目在Linux环境中的实现
  12. 微信小程序获取用户头像和昵称(填写头像昵称能力)
  13. Jenkins教程(六)脚本与方法执行效果不合预期,如何及时中止pipeline
  14. 编写lisp程序解一元二次方程_怎样用C语言编一个解一元二次方程的程序?
  15. 【coolshell酷壳】简明 Vim 练级攻略
  16. 零基础 Python学习
  17. ElementUI轮播图指示器设置为图片
  18. Android java synchronized原理
  19. 2023最新网盘不限速下载方法
  20. 化学计量学(1)—基础理论与数据预处理

热门文章

  1. VMware时钟不准的解决之道
  2. pythonfor循环语句例子_Python for循环学习总结
  3. Android学习导航线路
  4. linux下eclipse进行ndk调试,超简单,写的超清晰
  5. Ruby命令之gem操作
  6. Android ListView反复调用getView和getCount
  7. linux C 语言的 system
  8. 用 pre-commit hook 解决 Python 项目编码规范
  9. linux网卡eth1如何修改为eth0
  10. AbleCloud与物联智慧战略合作,联合服务视频类智能硬件