python实现代码统计器
本文实例为大家分享了python中的代码行数统计,供大家参考,具体内容如下
思路:统计文件中代码的总行数减去空行单行注释以及多行注释
功能:
1.获取文件内容的总行数
2.排除空行单行注释多行注释
defcode_statistics(path): ##打开这个文件 withopen(path,'r',encoding='utf-8')asopenFile: #按列读取 fileline=openFile.readlines() #给非代码行一个变量 i=0 #整个文件里面内容的总行数 number_line=len(fileline) #给多行注释一个状态 note=False #遍历文件内容 forlineinfileline: #空行 ifline=='\n': i+=1 #单行注释 elifre.findall('[#]',line): i+=1 #多行注释开头 elifre.findall("\'\'\'",line)andnote==False: i+=1 note=True #多行注释结尾 elifre.findall("\'\'\'",line)andnote==True: i+=1 note=False #多行注释内部注释 elifnote: i+=1 num_code_line=number_line-i print(num_code_line)
如果统计文件夹中的python文件的代码行数,首先就是要遍历文件目录,筛选出以.py结尾的文件,再去统计py文件里面的代码行数
defget_all_fire(path): #得到当前目录下的所有文件 file_list=os.listdir(path) py_file_abs=[] #遍历所有文件 forfile_nameinfile_list: #获取文件及文件夹的绝对路径 file_abs=os.path.join(path,file_name) ifos.path.isfile(file_abs)andfile_name.endswith('.py'):#判断当前文件路径是否是文件和.py文件 py_file_abs.append(file_abs) #判断当前文件路径是不是文件夹 elifos.path.isdir(file_abs): py_file_abs+=get_all_fire(file_abs) returnpy_file_abs
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。