import argparse import re def parse_args() -> argparse.Namespace: parser = argparse.ArgumentParser(description="删除最近10条标题内容") parser.add_argument( "--input", default="source/output/reports/up_analysis_full_auto.md", help="输入报告路径", ) parser.add_argument( "--output", help="输出报告路径(默认覆盖输入)", ) return parser.parse_args() def main(): args = parse_args() input_file = args.input output_file = args.output or input_file with open(input_file, 'r', encoding='utf-8') as f: content = f.read() lines = content.split('\n') new_lines = [] i = 0 while i < len(lines): line = lines[i] new_lines.append(line) if line.startswith('## '): i += 1 while i < len(lines): curr = lines[i] if curr.startswith('## '): break if curr.startswith('### '): if '最近10条标题' in curr: i += 1 while i < len(lines) and lines[i].startswith(' - '): i += 1 continue else: break if curr.startswith('- ') and not curr.startswith(' - '): i += 1 continue if curr.startswith(' - '): i += 1 continue new_lines.append(curr) i += 1 else: i += 1 result = '\n'.join(new_lines) result = re.sub(r'\n{3,}', '\n\n', result) with open(output_file, 'w', encoding='utf-8') as f: f.write(result) print(f'Done: {output_file}') return 0 if __name__ == "__main__": raise SystemExit(main())