Files
bili_follow_group/source/scripts/remove_10content.py
2026-04-26 22:56:26 +08:00

67 lines
1.8 KiB
Python

import argparse
import re
def parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(description="删除最近10条标题内容")
parser.add_argument(
"--input",
default="source/output/reports/2_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())