Python将md批量转为docx

这两天写毕业论文, 发现了一个可以将markdown快速转为word格式的小工具pandoc, 非常好用, 比如我有一个名为毕业论文.md的文件, 我只需在命令行运行

pandoc 毕业论文.md -o 毕业论文.docx

即可根据md文件生成新的docx文件!

pandoc支持相互转换的格式, 多的惊人!

pandoc

Pandoc主站链接

安装包下载地址

https://github.com/jgm/pandoc/releases/tag/2.2

使用技巧:

  • 由于word确实很难用, 我们可以用md格式书写, 然后转换成docx
  • 懒是第一生产力, pandoc可以在命令行运行, 所以, 我们可以配合python脚本将md格式批量转换为docx
  • 这是我写的一个简易脚本
import os

# 当前目录下所有文件的名字
all_files_name = os.listdir()

# 保存所有md文件的名字
all_md_files = []

# 获取目录下的md文件, 并保存
for file_name in all_files_name:
    try:
        if file_name[-3:] == ".md":
            all_md_files.append(file_name)
    except Exception as e:
        print(e)
# 将md文件批量装换为docx
for md_file in all_md_files:
    try:
        tmp_doc_name = md_file[0: -3] + ".docx"
        new_command = "pandoc "+ md_file + " -o " + tmp_doc_name
        result = os.popen(new_command).readlines()
        if len(result) == 0:
            print(md_file, "转换成功")
    except Exception as e:
        print(e)

运行效果

最终结果

  • 值得一提的是, 我这里用的md测试文件, 都是从我的简书后台打包下载的, 也就是本地是不存在图片的, 而pandoc会自动帮我们把图片下载到本地, 然后保存到新生成的doc中.
  • 只要将我的脚本稍加修改, 就可以按照上面的网状图, 进行任意两种格式的互转(比如word转pdf), 有兴趣的小伙伴可以自己动手折腾一下

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

LINQ via C# 系列文章

LINQ via C# Recently I am giving a series of talk on LINQ. the name “LINQ via C...

2665
来自专栏落花落雨不落叶

canvas画简单电路图

63111
来自专栏Golang语言社区

【Golang语言社区】GO1.9 map并发安全测试

var m sync.Map //全局 func maintest() { // 第一个 YongHuomap := make(map[st...

4778
来自专栏pangguoming

Spring Boot集成JasperReports生成PDF文档

由于工作需要,要实现后端根据模板动态填充数据生成PDF文档,通过技术选型,使用Ireport5.6来设计模板,结合JasperReports5.6工具库来调用渲...

1.2K7
来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

4045
来自专栏一个会写诗的程序员的博客

Spring Reactor 项目核心库Reactor Core

Non-Blocking Reactive Streams Foundation for the JVM both implementing a Reactiv...

2192
来自专栏陈仁松博客

ASP.NET Core 'Microsoft.Win32.Registry' 错误修复

今天在发布Asp.net Core应用到Azure的时候出现错误InvalidOperationException: Cannot find compilati...

4868
来自专栏大内老A

The .NET of Tomorrow

Ed Charbeneau(http://developer.telerik.com/featured/the-net-of-tomorrow/) Exciti...

31810
来自专栏跟着阿笨一起玩NET

c#实现打印功能

2802
来自专栏我和未来有约会

Kit 3D 更新

Kit3D is a 3D graphics engine written for Microsoft Silverlight. Kit3D was inita...

2576

扫码关注云+社区