您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

如何使用Python实现代码行数统计工具介绍

2024/4/10 20:31:13发布11次查看
我们经常想要统计项目的代码行数,但是如果想统计功能比较完善可能就不是那么简单了, 今天我们来看一下如何用python来实现一个代码行统计工具。
思路:首先获取所有文件,然后统计每个文件中代码的行数,最后将行数相加.
实现的功能:
统计每个文件的行数;
统计总行数;
统计运行时间;
支持指定统计文件类型,排除不想统计的文件类型;
递归统计文件夹下包括子文件件下的文件的行数;
排除空行;
# coding=utf-8 import os import time basedir = '/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 != '\n': #过滤掉空行             count += 1     print fname + '----' , count     return count if 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---- 16 total lines: 382 done! cost time: 0.00 second [root@pythontab script]#
只会统计php和python文件,非常方便。
其实大家还可以在此基础上进行改进,比如:排除注释行等等。
以上就是如何使用python实现代码行数统计工具介绍的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product