注释消除
import re
import os
def remove_specific_comment_tags(content, tags):
"""移除注释中包含指定标签(如 @author, @date 等)的行"""
for tag in tags:
# 仅匹配注释中的指定标签,确保普通注释不受影响
content = re.sub(r'(s*\*.*' + re.escape(tag) + r'.*[\r\n]*)', '', content)
return content
def process_file(file_path, tags):
"""从文件中移除指定标签的注释行"""
with open(file_path, 'r', encoding='utf-8') as file:
content = file.read()
# 处理内容,删除包含指定标签的注释行
content = remove_specific_comment_tags(content, tags)
# 保存修改后的内容
with open(file_path, 'w', encoding='utf-8') as file:
file.write(content)
def process_folder(folder_path, tags):
"""遍历文件夹下的所有文件并处理每个文件,排除 node_modules 文件夹"""
for root, dirs, files in os.walk(folder_path):
# 排除 node_modules 文件夹
dirs[:] = [d for d in dirs if d != 'node_modules']
for file in files:
if file.endswith(('.java', '.js')): # 处理 .java 和 .js 文件
file_path = os.path.join(root, file)
print(f"正在处理文件: {file_path}")
process_file(file_path, tags)
# 调用示例
tags_to_remove = ['@author', '@date', '@Author', '@Date', '@LastAuthor', '@lastTime'] # 可以根据需求添加更多标签
folder_to_scan = '文件地址' # 替换为实际文件夹路径
process_folder(folder_to_scan, tags_to_remove)
print(f"结束")
License:
CC BY 4.0