Python实现代码行数统计工具的功能(实例)

本篇文章给大家带来的内容是关于python实现代码行数统计工具的功能(实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

我们经常想要统计项目的代码行数,但是如果想统计功能比较完善可能就不是那么简单了, 今天我们来看一下如何用python来实现一个代码行统计工具。

思路:首先获取所有文件,然后统计每个文件中代码的行数,最后将行数相加.

实现的功能:

统计每个文件的行数;

立即学习“Python免费学习笔记(深入)”;

统计总行数;

统计运行时间;

支持指定统计文件类型,排除不想统计的文件类型;

递归统计文件夹下包括子文件件下的文件的行数;

排除空行;

# coding=utf-8import osimport timebasedir = '/root/script'filelists = []# 指定想要统计的文件类型whitelist = ['php', 'py']#遍历文件, 递归遍历文件夹中的所有def getFile(basedir):    global filelists    for 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 = 0    for file_line in open(fname).xreadlines():        if file_line != '' and file_line != '': #过滤掉空行            count += 1    print fname + '----' , count    return countif __name__ == '__main__' :    startTime = time.clock()    getFile(basedir)    totalline = 0    for filelist in filelists:        totalline = totalline + countLine(filelist)    print 'total lines:',totalline    print '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---- 16total lines: 382Done! Cost Time: 0.00 second[root@pythontab script]#

登录后复制

统计php和python文件,非常方便。

其实大家还可以在此基础上进行改进,比如:排除注释行等等。

以上就是Python实现代码行数统计工具的功能(实例)的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2534536.html

(0)
上一篇 2025年3月5日 21:32:48
下一篇 2025年3月5日 21:32:54

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 怎么找到黑客的联系方式?

    如果你想要找到黑客的联系方式,那么你可能面临以下难题:黑客往往会隐藏他们的身份,并且他们的联系方式很难被发现。php小编草莓在这里为你提供了一份指南,旨在帮助你找到黑客的联系方式。在本指南中,我们将介绍一些常见的黑客使用的联系方式,并提供一…

    2025年3月5日
    200
  • Python返回真假值(True or False)的小技巧

    本篇文章给大家带来的内容是关于python如何在notepad++上运行,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 Python返回真假值(True or False)小技巧,本文探讨的是最简洁的条件判断语句写法,本文…

    编程技术 2025年3月5日
    100
  • Python中logging日志模块的解析(代码示例)

    本篇文章给大家带来的内容是关于python中logging日志模块的解析(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、日志记录的级别 debug:优先级10,记录调试的详细信息,只在调试时开启 info:…

    编程技术 2025年3月5日
    200
  • Python同时对数据做转换和换算的方法介绍与分析(附实例)

    本篇文章给大家带来的内容是关于Python同时对数据做转换和换算的方法介绍与分析(附实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1、需求 我们需要调用一个换算函数(例如sum()、min()、max()),但首先…

    编程技术 2025年3月5日
    200
  • Python将多个映射合并为单个映射的方法与分析(代码实例)

    本篇文章给大家带来的内容是关于python将多个映射合并为单个映射的方法与分析(代码实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1、需求 我们有多个字典或映射,想在逻辑上将它们合并为一个单独的映射结构,以此执行一…

    编程技术 2025年3月5日
    200
  • python类的相关知识介绍(附示例)

    本篇文章给大家带来的内容是关于python类的相关知识介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 Python-类属性,实例属性,类方法,静态方法,实例方法 类属性和实例属性 #coding:utf-8c…

    编程技术 2025年3月5日
    200
  • Python数据可视化的四种方法介绍(附示例)

    本篇文章给大家带来的内容是关于Python数据可视化的四种方法介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 摘要:本文讲述了热图、二维密度图、蜘蛛图、树形图这四种Python数据可视化方法。 数据可视化是任…

    2025年3月5日 编程技术
    200
  • Python针对任意多的分隔符拆分字符串(附代码)

    本篇文章给大家带来的内容是关于python针对任意多的分隔符拆分字符串(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1、需求 我们需要将字符串拆分为不同的字段,但是分隔符(以及分隔符之间的空格)在整个字符串中并…

    编程技术 2025年3月5日
    200
  • 一篇文章带你学习Python列表

    本篇文章给大家带来的内容是关于一篇文章带你学习python列表,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 千里之行,始于足下。要练成一双洞悉一切的眼睛,还是得先把基本功扎扎实实地学好。今天,本喵带大家仔细温习一下Pyt…

    编程技术 2025年3月5日
    200
  • Django中怎么更改默认数据库为mysql(详细过程)

    本篇文章给大家带来的内容是关于django中怎么更改默认数据库为mysql(详细过程),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 Django中默认使用sqlite3数据库,今天研究了下如何将它换成常见的mysql数据…

    编程技术 2025年3月5日
    200

发表回复

登录后才能评论