Python 实现代码行数统计脚本实例
本文介绍使用 Python 编写的一个简单脚本,用于统计指定目录下的代码行数。通过遍历文件并过滤特定后缀,可快速计算总文件数及有效代码行,适用于送测前的代码量评估及后续自动化统计场景。
Python 统计代码行数的简易实现方案
在提交测试阶段,通常需要统计项目的代码总量。
为此,编写了一个小程序来统计个人项目的代码行数。
#calclate_code_lines.py
import os
def afileline(f_path):
res = 0
f = open(f_path)
for lines in f:
if lines.split():
res += 1
return res
if __name__=='__main__':
host = 'E:'+os.sep+'develop'+os.sep+'dev_workspace'+os.sep+'AptanaStudio3'+os.sep+'webhost'
allfiles = 0
allline = 0
for root,dirs,files in os.walk(host):
for afile in files:
if(root.startswith(host+os.sep+'entries')):
continue
elif(root.startswith(host+os.sep+'.svn')):
continue
elif(root.startswith(host+os.sep+'.settings')):
continue
elif(root.startswith(host+os.sep+'logs')):
continue
elif(root.startswith(host+os.sep+'static')):
continue
elif(root.startswith(host+os.sep+'payload'+os.sep+'.svn')):
continue
elif(root.startswith(host+os.sep+'dist'+os.sep+'.svn')):
continue
elif(root.startswith(host+os.sep+'dsync'+os.sep+'.svn')):
continue
elif(root.startswith(host+os.sep+'hcache'+os.sep+'.svn')):
continue
elif(root.startswith(host+os.sep+'test'+os.sep+'.svn')):
continue
elif(root.startswith(host+os.sep+'webhost'+os.sep+'.svn')):
continue
elif(root.startswith(host+os.sep+'wsgi'+os.sep+'.svn')):
continue
elif(root.startswith(host+os.sep+'hcache'+os.sep+'templates'+os.sep+'.svn')):
continue
elif(root.startswith(host+os.sep+'dsync'+os.sep+'hcache'+os.sep+'.svn')):
continue
else:
ext = afile.split('.')
ext = ext[-1]
if (ext in ['py','css','js','html','txt','docx','wsgi']):
itpath = root+os.sep+afile
allfiles += 1
allline +=afileline(itpath)
print (root+os.sep+afile)
print ('Total: ',allfiles)
print ('Total lines:',allline)
该脚本经过适当改造后,可复用于未来的代码统计工作。
感谢阅读,希望本文能对大家有所帮助,谢谢支持!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













