一、问题描述:
码农经常会被问到,一共写过多少行代码?现在,给定一个包含py 文件的目录,统计该目录中所有源码文件的总行数,并分别列出注释行、空行与有效代码的行数。请注意,为了简化问题,我们暂不考虑多行注释,有兴趣的同学可以自己尝试思考多行注释下的代码统计。文章来源:https://www.toymoban.com/news/detail-807039.html
二、示例代码:
import os
import re
program_dir = r'.' # 设定统计源码所在的目录(.表示当前目录)
blank_lines = 0 # 初始化统计变量
remark_lines = 0
affect_lines = 0
total_lines = 0
count_files = 0
for root, dirs, files in os.walk(program_dir):
for every_file in files:
file_root = os.path.join(root, every_file)
open_file = open(file_root, 'r')
try:
file_content = open_file.readlines() # 按照行读取文件
except:
file_content = []
open_file.close()
print('正在统计:'+str(count_files), file_root)
count_files += 1
for line in file_content:
first_char = re.search(r'(?<=\s)*\S', line) # 匹配每行第一个非空字符
if not first_char: # 判断并统计
blank_lines += 1
elif first_char.group() == '#':
remark_lines += 1
else:
affect_lines += 1
total_lines += 1
print('有效行:', affect_lines)
print('注释行:', remark_lines)
print('空白行:', blank_lines)
print('总行数:', total_lines)
三、运行结果展示:
文章来源地址https://www.toymoban.com/news/detail-807039.html
到了这里,关于Python用正则匹配来统计已写源码行数的示例(Crossin教室实例27)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!