用Python怎么样对代码行数统计,思路和方法是什么
这篇文章主要介绍“用Python怎么样对代码行数统计,思路和方法是什么”,有一些人在用Python怎么样对代码行数统计,思路和方法是什么的问题上存在疑惑,接下来小编就给大家来介绍一下相关的内容,希望对大家解答有帮助,有这个方面学习需要的朋友就继续往下看吧。
现在大家对于用Python怎么样对代码行数统计,思路和方法是什么的内容应该都有一定的认识了吧,希望这篇能对大家有所帮助。最后,想要了解更多,欢迎关注博信,博信将为大家推送更多相关的文章。
我们经常想要统计项目的代码行数,但是如果想统计功能比较完善可能就不是那么简单了, 今天我们来看一下如何用python来实现一个代码行统计工具。
思路:首先获取所有文件,然后统计每个文件中代码的行数,最后将行数相加.
实现的功能:
统计每个文件的行数;
统计总行数;
统计运行时间;
支持指定统计文件类型,排除不想统计的文件类型;
递归统计文件夹下包括子文件件下的文件的行数;
排除空行;
#coding=utf-8 importos importtime basedir='/root/script' filelists=[] #指定想要统计的文件类型 whitelist=['php','py'] #遍历文件,递归遍历文件夹中的所有 defgetFile(basedir): globalfilelists forparent,dirnames,filenamesinos.walk(basedir): #fordirnameindirnames: #getFile(os.path.join(parent,dirname))#递归 forfilenameinfilenames: ext=filename.split('.')[-1] #只统计指定的文件类型,略过一些log和cache文件 ifextinwhitelist: filelists.append(os.path.join(parent,filename)) #统计一个文件的行数 defcountLine(fname): count=0 forfile_lineinopen(fname).xreadlines(): iffile_line!=''andfile_line!='\n':#过滤掉空行 count+=1 printfname+'----',count returncount if__name__=='__main__': startTime=time.clock() getFile(basedir) totalline=0 forfilelistinfilelists: totalline=totalline+countLine(filelist) print'totallines:',totalline print'Done!CostTime:%0.2fsecond'%(time.clock()-startTime)
结果:
[root@pythontabscript]#pythoncountCodeLine.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 totallines:382 Done!CostTime:0.00second [root@pythontabscript]#
只会统计php和python文件,非常方便。
其实大家还可以在此基础上进行改进,比如:排除注释行等等。
现在大家对于用Python怎么样对代码行数统计,思路和方法是什么的内容应该都有一定的认识了吧,希望这篇能对大家有所帮助。最后,想要了解更多,欢迎关注博信,博信将为大家推送更多相关的文章。
版权声明
本文仅代表作者观点,不代表博信信息网立场。
上一篇:Redis中的布隆过滤器怎么实现 下一篇:Redis过期键删除策略的原理是什么