当前位置: 首页 > news >正文

用 Python 实现将长 Markdown 文档从二级标题开始拆分

以下是一个简单的Python脚本,它可以将Markdown文档按照二级标题(##)进行拆分,并保存到指定的输出路径。

import osdef split_markdown_by_headers(input_path, output_folder):# 确保输出文件夹存在if not os.path.exists(output_folder):os.makedirs(output_folder)# 初始化变量current_file = Nonecurrent_content = []# 读取输入文件with open(input_path, 'r', encoding='utf-8') as file:for line in file:# 检查是否是二级标题if line.startswith('## '):# 如果已经有打开的文件,先保存if current_file:save_current_file(current_file, current_content, output_folder)current_content = []  # 重置内容# 新的文件名是二级标题(去掉'## ')current_file = line.lstrip('# ').strip().replace(' ', '_') + '.md'# 将当前行添加到内容列表current_content.append(line)# 保存最后一个文件if current_file:save_current_file(current_file, current_content, output_folder)def save_current_file(filename, content, folder):# 拼接完整的文件路径output_path = os.path.join(folder, filename)# 写入文件with open(output_path, 'w', encoding='utf-8') as file:file.writelines(content)# 自定义输入路径
input_path = input("请输入Markdown文件的路径: ")
# 输出路径固定
output_path = 'output_md_files'# 调用函数进行拆分
split_markdown_by_headers(input_path, output_path)

运行这段代码时,它会提示你输入Markdown文件的路径。然后,它会在当前目录下创建一个名为output_md_files的文件夹,并将拆分的Markdown文件保存到该文件夹中。每个文件以对应的二级标题命名。

如果是从三级代码开始拆分,那么代码和和之前的示例非常相似,唯一的变化是检查行是否以### 开头,这是Markdown中的三级标题格式。

if line.startswith('### '):

http://www.mrgr.cn/news/28758.html

相关文章:

  • Vue3 笔记 (万字速通)
  • vue之axios根据某个接口创建实例,并设置headers和超时时间,捕捉异常
  • 万字长文解读深度学习——卷积神经网络CNN
  • 批量将当前目录里的所有pdf 转化为png 格式
  • 【游戏引擎之路】登神长阶(十四)——OpenGL教程:士别三日,当刮目相看
  • 【JAVA】正则表达式中的中括弧
  • 【车载以太网】【SOME/IP】vsomeip代码解析--routing_manager
  • 【课程学习】信号检测与估计II
  • NC 排序
  • 硬件工程师笔试面试——显示器件
  • fiddler抓包03_汉化
  • 基于代理的分布式身份管理方案
  • Linux:软件包管理器 yum和编辑器-vim使用
  • 『功能项目』回调函数处理死亡【54】
  • leetcode-枚举算法
  • Redhat 8/9 缺少 compat-db47
  • SpringBoot开发——统一返回和统一异常处理
  • idea一个窗口打开多个仓库的代码
  • 硬件工程师笔试面试——无线通讯模块
  • string的模拟实现and友元
  • VS Code + WSL 用法摘记
  • 4.提升客户服务体验:ChatGPT在客服中的应用(4/10)
  • canal消费binlog异常排查
  • 数据结构之栈(python)
  • 计算机科学中使用过的逻辑表示汇总
  • 【题解】【枚举】—— [NOIP2008 提高组] 火柴棒等式