import os import re # pip install python-docx from docx import Document from docx.shared import Pt, RGBColor from docx.enum.text import WD_LINE_SPACING, WD_ALIGN_PARAGRAPH
# 获取指定目录下的所有文件 defget_java_files(directory): java_files = [] for root, dirs, files in os.walk(directory): # 排除指定文件夹 ifany(exclude_dir in root for exclude_dir in exclude_dirs): continue for file in files: # 排除本文件 if os.path.basename(file) == os.path.basename(__file__): continue # 只处理指定后缀 ifany(file.endswith(suffix) for suffix in suffix_list): java_files.append(os.path.join(root, file).replace('\\', '/')) return java_files
# 返回删掉空行和注释的内容 defread_java_file(file_path): withopen(file_path, 'r', encoding='utf-8') as ff: file_content = ff.read() file_content = re.sub('![^\$][^\n]*', '', file_content) # 按\n分割成列表 file_lines = file_content.splitlines() for i in file_lines[:]: if i == '': file_lines.remove(i) if re.match(r'^\s+$', i): file_lines.remove(i) res = '\n'.join(file_lines) + '\n' return res, len(file_lines)