python统计指定目录内文件的代码行数,程序实现统计指定目录内各个python文件的代码总行数,注释行数,空行数,并算出所占百分比
这符合一些公司的小需求,实际代码量的统计工作
效果如图
代码如下:
#coding:utf-8 import os,re #代码所在目录 FILE_PATH = './' def analyze_code(codefilesource): ''' 打开一个py文件,统计其中的代码行数,包括空行和注释 返回含该文件总行数,注释行数,空行数的列表 :param codefilesource: :return: ''' total_line = 0 comment_line = 0 blank_line = 0 with open(codefilesource,encoding='gb18030',errors='ignore') as f: lines = f.readlines() total_line = len(lines) line_index = 0 #遍历每一行 while line_index < total_line: line = lines[line_index] #检查是否为注释 if line.startswith("#"): comment_line += 1 elif re.match("\s*'''",line) is not None: comment_line += 1 while re.match(".*'''$",line) is None: line = lines[line_index] comment_line += 1 line_index += 1 #检查是否为空行 elif line =='\n': blank_line += 1 line_index += 1 print("在%s中:"%codefilesource) print("代码行数:",total_line) print("注释行数:",comment_line,"占%0.2f%%"%(comment_line*100/total_line)) print("空行数:", blank_line, "占%0.2f%%"%(blank_line * 100 / total_line)) return [total_line,comment_line,blank_line] def run(FILE_PATH): os.chdir(FILE_PATH) #遍历py文件 total_lines = 0 total_comment_lines = 0 total_blank_lines = 0 for i in os.listdir(os.getcwd()): if os.path.splitext(i)[1] == '.py': line = analyze_code(i) total_lines,total_comment_lines,total_blank_lines=total_lines+line[0],total_comment_lines+line[1],total_blank_lines+line[2] print("总代码行数:",total_lines) print("总注释行数:",total_comment_lines,"占%0.2f%%"%(total_comment_lines*100/total_lines)) print("总空行数:", total_blank_lines, "占%0.2f%%"% (total_blank_lines * 100 / total_lines)) if __name__ == '__main__': run(FILE_PATH)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
2024年11月16日
2024年11月16日
- 林俊吉.2012-将你惜命命【美华】【WAV+CUE】
- 晓雅《分享》DTS-WAV
- 黑鸭子2008-飞歌[首版][WAV+CUE]
- 黄乙玲1989-水泼落地难收回[日本天龙版][WAV+CUE]
- 周深《反深代词》[先听版][FLAC/分轨][310.97MB]
- 姜育恒1984《什么时候·串起又散落》台湾复刻版[WAV+CUE][1G]
- 那英《如今》引进版[WAV+CUE][1G]
- 蔡幸娟.1991-真的让我爱你吗【飞碟】【WAV+CUE】
- 群星.2024-好团圆电视剧原声带【TME】【FLAC分轨】
- 陈思安.1990-国语钢琴酒吧5CD【欣代唱片】【WAV+CUE】
- 莫文蔚《莫后年代20周年世纪典藏》3CD[WAV+CUE][2G]
- 张惠妹《我要快乐》华纳[WAV+CUE][1G]
- 罗大佑1982《之乎者也》无法盗版的青春套装版 [WAV+CUE][1G]
- 曾庆瑜1989-款款柔情[日本东芝版][WAV+CUE]
- Scelsi-IntegraledesquatuorsacordesetTrioacordes-QuatuorMolinari(2024)[24bit-WAV]