文章

注释消除

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