import os import re def format_md_file(file_path): with open(file_path, 'r', encoding='utf-8') as file: content = file.read() # 基础文本替换处理 content = content.replace(' ', '') # 去空格 content = content.replace('# ', '').replace('#', '') # 去# content = content.replace('!', '。').replace('!', '。') # 替换感叹号为句号 content = content.replace(';', '。').replace(';', '。') # 替换分号为句号 content = content.replace('.', '。') # 替换半角句号为全角 content = content.replace('(', '(').replace(')', ')') # 统一括号 content = content.replace('?', '?').replace(',', ',') # 统一问号和逗号 content = content.replace(':', ':') # 替换半角冒号为全角 content = content.replace('10、', '十、') # 替换文案 content = content.replace('11、', '十一、') # 替换文案 content = content.replace('12、', '十二、') # 替换文案 content = content.replace('13、', '十三、') # 替换文案 content = content.replace('14、', '十四、') # 替换文案 content = content.replace('15、', '十五、') # 替换文案 content = content.replace('16、', '十六、') # 替换文案 content = content.replace('17、', '十七、') # 替换文案 content = content.replace('18、', '十八、') # 替换文案 content = content.replace('19、', '十九、') # 替换文案 content = content.replace('20、', '二十、') # 替换文案 content = content.replace('1、', '一、') # 替换文案 content = content.replace('2、', '二、') # 替换文案 content = content.replace('3、', '三、') # 替换文案 content = content.replace('4、', '四、') # 替换文案 content = content.replace('5、', '五、') # 替换文案 content = content.replace('6、', '六、') # 替换文案 content = content.replace('7、', '七、') # 替换文案 content = content.replace('8、', '八、') # 替换文案 content = content.replace('9、', '九、') # 替换文案 # 处理句号和问号后的换行(首次处理) content = content.replace('。', '。\n').replace('?', '?\n') # 去除空白行(先过滤原始文本中的空行) lines = content.splitlines() non_empty_lines = [line for line in lines if line.strip()] content = '\n'.join(non_empty_lines) # 在冒号后添加空行(关键调整:放在去空行之后,避免被过滤) content = re.sub(r':\s*', r':\n\n', content) # 冒号后添加两个换行(空一行) # 再次处理句号和问号换行(确保标点后换行生效) content = content.replace('。', '。\n').replace('?', '?\n') # 再次处理:换行 content = content.replace(':\n\n', ':') content = content.replace(':一、', ':\n\n一、') content = content.replace(' ', '') # 去空格 # 处理分隔线和日期格式 content = content.replace('---', '---\n') # 分隔线后换行 content = content.replace('日星期', '日 星期') # 调整日期格式 # 添加标题和第二行空行 content = '# ' + content # 首行添加# lines = content.splitlines() if len(lines) > 0: lines.insert(1, '') # 第二行插入空行 content = '\n'.join(lines) with open(file_path, 'w', encoding='utf-8') as file: file.write(content) if __name__ == "__main__": current_dir = os.path.dirname(os.path.abspath(__file__)) print(current_dir) for root, dirs, files in os.walk(current_dir): for file in files: if file.endswith('.md'): file_path = os.path.join(root, file) format_md_file(file_path)