600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 目录下代码行数统计小工具(python)

目录下代码行数统计小工具(python)

时间:2021-10-07 01:00:59

相关推荐

目录下代码行数统计小工具(python)

先上效果图

代码

import osfrom time import sleep# 定义一个函数,用于打印输出目录下所有txt文件的内容import chardetline_all = 0def print_txt_content(path,):global line_all# 获取指定路径下的所有文件和文件夹files = os.listdir(path)for file in files:# 完整路径file_path = os.path.join(path, file)# 判断是否是文件夹if os.path.isdir(file_path):# 递归调用自己,处理子目录print_txt_content(file_path)# 判断是否是txt文件elif os.path.isfile(file_path) and file_path.endswith('.java'):# 打开文件,读取并打印内容sleep(0.1)fs = open(file_path, 'rb') # 先用二进制打开data = fs.read() # 读取文件内容file_encoding = chardet.detect(data).get('encoding') # 得到文件的编码格式fs.close() # 关闭文件with open(file_path, 'r', encoding=file_encoding) as f:# content = f.read()# print(content)lines = f.readlines()# 使用strip()方法去掉每行开头和结尾处的空白字符,再使用filter()方法过滤掉空行non_empty_lines = filter(lambda x: x.strip(), lines)# 使用len()方法获取非空行数line_count = len(list(non_empty_lines))line_all+=line_countprint(file_path[file_path.rindex("\\")+1:]+" 行数:"+str(line_count))# 调用函数并传入要处理的目录路径path = './aa'print_txt_content(path)print("总行数:"+str(line_all))

代码核心部分来自ChatGPT。

注释所在的行数也统计入内,但不统计空行。

使用方法

新建一个py文件,把上述代码粘贴进去。同目录下新建一个文件夹命名为aa。把需要统计行数的源代码文件放进aa文件夹里。

目前默认统计的是Java文件,如需要改为其他后缀名的文件,需要把第20行的“java”替换为其他后缀名。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。