如果有多个Markdown文件需要转换为Word文档,可以使用此工具进行批量转换的功能,可以一次性选择一个文件夹,并将文件夹中的所有Markdown文件转换为对应的Word文档。
代码:
import tkinter as tk from tkinter import ttk, filedialog import markdown from docx import Document import os def convert_to_word(): # 选择文件夹 folder_path = filedialog.askdirectory() if folder_path: # 遍历文件夹中的Markdown文件 for file_name in os.listdir(folder_path): if file_name.endswith(".md"): # 读取Markdown文件内容 markdown_file = os.path.join(folder_path, file_name) with open(markdown_file, "r") as f: markdown_content = f.read() # 将Markdown内容转换为HTML html_content = markdown.markdown(markdown_content) # 创建Word文档 doc = Document() # 添加HTML内容到Word文档 doc.add_paragraph(html_content) # 保存Word文件 word_file = os.path.join(folder_path, "docx", file_name.replace(".md", ".docx")) os.makedirs(os.path.dirname(word_file), exist_ok=True) doc.save(word_file) result_label.config(text="转换成功!") else: result_label.config(text="未选择文件夹!") # 创建GUI界面 root = tk.Tk() root.title("Markdown转换为Word工具---微信公众号:蓝胖子之家") root.geometry("480x180") # 设置样式 style = ttk.Style() style.configure("TButton", padding=10, relief="flat", background="#2196F3", foreground="white") style.map("TButton", background=[("active", "#1976D2")]) # 添加选择文件夹按钮 select_button = ttk.Button(root, text="选择要转换的目录文件夹", command=convert_to_word) select_button.pack(pady=10) # 添加转换结果标签 result_label = tk.Label(root, text="") result_label.pack() # 运行GUI界面 root.mainloop()
- 导入必要的库:导入tkinter库用于创建GUI界面,导入markdown库用于将Markdown内容转换为HTML,导入python-docx库用于操作Word文档,导入os库用于文件和文件夹操作。
- 定义转换函数convert_to_word():该函数用于选择文件夹并进行转换操作。
- 选择文件夹:通过filedialog.askdirectory()函数选择要转换的目录文件夹。
- 遍历文件夹中的Markdown文件:使用os.listdir()函数遍历文件夹中的所有文件,通过判断文件名是否以".md"结尾来确定是否为Markdown文件。
- 读取Markdown文件内容:使用open()函数打开Markdown文件,并使用read()方法读取文件内容。
- 将Markdown内容转换为HTML:使用markdown.markdown()函数将Markdown内容转换为HTML格式。
- 创建Word文档:使用Document()函数创建一个空的Word文档对象。
- 添加HTML内容到Word文档:使用doc.add_paragraph()方法将HTML内容添加到Word文档中。
- 保存Word文件:使用os.makedirs()函数创建一个名为"docx"的文件夹,并使用os.path.join()函数构建保存Word文件的路径,最后使用doc.save()方法保存Word文件。
- 显示转换结果:根据转换是否成功,在界面上的标签中显示相应的提示信息。
- 创建GUI界面:使用tkinter库创建GUI界面,设置窗口标题和大小。
- 设置样式:使用ttk.Style()函数创建样式对象,通过configure()方法设置按钮的样式,通过map()方法设置按钮在不同状态下的样式。
- 添加选择文件夹按钮:使用ttk.Button()函数创建选择文件夹的按钮,并指定按钮的文本和点击事件。
- 添加转换结果标签:使用tk.Label()函数创建一个用于显示转换结果的标签。
- 运行GUI界面:使用root.mainloop()方法运行GUI界面。
运行效果:
获取文章工具
链接:https://pan.baidu.com/s/1ksJZ4Om-A2XE6EbVhIaW0g 提取码:so57
原文始发于微信公众号(蓝胖子之家):Python实现markdown文件批量转换为word
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论