Python实现markdown文件批量转换为word

admin 2024年3月2日20:49:04评论15 views字数 2251阅读7分30秒阅读模式

Python实现markdown文件批量转换为word

如果有多个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()
  1. 导入必要的库:导入tkinter库用于创建GUI界面,导入markdown库用于将Markdown内容转换为HTML,导入python-docx库用于操作Word文档,导入os库用于文件和文件夹操作。
  2. 定义转换函数convert_to_word():该函数用于选择文件夹并进行转换操作。
  3. 选择文件夹:通过filedialog.askdirectory()函数选择要转换的目录文件夹。
  4. 遍历文件夹中的Markdown文件:使用os.listdir()函数遍历文件夹中的所有文件,通过判断文件名是否以".md"结尾来确定是否为Markdown文件。
  5. 读取Markdown文件内容:使用open()函数打开Markdown文件,并使用read()方法读取文件内容。
  6. 将Markdown内容转换为HTML:使用markdown.markdown()函数将Markdown内容转换为HTML格式。
  7. 创建Word文档:使用Document()函数创建一个空的Word文档对象。
  8. 添加HTML内容到Word文档:使用doc.add_paragraph()方法将HTML内容添加到Word文档中。
  9. 保存Word文件:使用os.makedirs()函数创建一个名为"docx"的文件夹,并使用os.path.join()函数构建保存Word文件的路径,最后使用doc.save()方法保存Word文件。
  10. 显示转换结果:根据转换是否成功,在界面上的标签中显示相应的提示信息。
  11. 创建GUI界面:使用tkinter库创建GUI界面,设置窗口标题和大小。
  12. 设置样式:使用ttk.Style()函数创建样式对象,通过configure()方法设置按钮的样式,通过map()方法设置按钮在不同状态下的样式。
  13. 添加选择文件夹按钮:使用ttk.Button()函数创建选择文件夹的按钮,并指定按钮的文本和点击事件。
  14. 添加转换结果标签:使用tk.Label()函数创建一个用于显示转换结果的标签。
  15. 运行GUI界面:使用root.mainloop()方法运行GUI界面。

运行效果:

Python实现markdown文件批量转换为word

 获取文章工具

链接:https://pan.baidu.com/s/1ksJZ4Om-A2XE6EbVhIaW0g 提取码:so57

原文始发于微信公众号(蓝胖子之家):Python实现markdown文件批量转换为word

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年3月2日20:49:04
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Python实现markdown文件批量转换为wordhttp://cn-sec.com/archives/2538221.html

发表评论

匿名网友 填写信息