在ubuntu18.04下,基于python3写一个可以统计某文件夹内所有文件的类型、总代码行数、总注释行数的代码,文件夹名字作为程序输入
时间: 2023-02-07 08:45:27 浏览: 132
你可以使用 Python 的 os 模块和 glob 模块来获取文件夹内的文件列表,然后通过文件后缀名来判断文件类型。接着,你可以使用 Python 的注释解析库来统计文件中的代码行数和注释行数。
下面是一个示例代码,仅供参考:
```
import os
import glob
import comment_parser
def count_lines(filename):
# 使用 comment_parser 库解析文件的注释和代码行
with open(filename, 'r') as f:
comments, _, blank, code = comment_parser.parse(f.read())
# 统计文件总行数、注释行数和代码行数
total_lines = len(comments) + len(blank) + len(code)
comment_lines = len(comments)
code_lines = len(code)
return total_lines, comment_lines, code_lines
def main():
# 获取文件夹名称
folder_name = input('Enter the folder name: ')
# 获取文件夹内的文件列表
file_list = glob.glob(os.path.join(folder_name, '*'))
# 初始化总行数、注释行数和代码行数
total_lines = 0
comment_lines = 0
code_lines = 0
# 遍历文件列表
for file in file_list:
# 判断文件类型
if file.endswith('.py'):
file_type = 'Python'
elif file.endswith('.c'):
file_type = 'C'
elif file.endswith('.cpp'):
file_type = 'C++'
else:
file_type = 'Other'
# 统计文件的行数
lines, comments, codes = count_lines(file)
total_lines += lines
comment_lines += comments
code_lines += codes
# 输出文件信息
print(f'{file}: {file_type}, {lines} lines, {comments} comments, {codes} code lines')
# 输出总信
阅读全文