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 条评论
登录 后参与评论

相关文章

来自专栏finleyMa

ReactNative windows下打包生成安卓apk

create-react-native-app 运行npm run eject后根目录会产生一个andriod目录和ios目录。里面就是运行打包的配置文件。 ...

2433
来自专栏codelang

Android的Nexus搭建Maven私有仓库

1562
来自专栏Python中文社区

记一次惊心的网站TCP队列问题排查经历

作者:刘晓明,互联网公司运维技术负责人,拥有10年的互联网开发和运维经验。一直致力于运维工具的开发和运维专家服务的推进,赋能开发,提高效能。

1414
来自专栏北京马哥教育

高流量站点NGINX与PHP-fpm配置优化

使用Nginx搭配PHP已有7年的这份经历让我们学会如何为高流量站点优化NGINX和PHP-fpm配置。 以下正是这方面的一些提示和建议: 1. 将TCP切换为...

4475
来自专栏张戈的专栏

安装完Win7之后推荐做的一些设置

前言:不知道写什么,就总结一下我个人安装完成 windows7 之后要做的一些设置吧!以下全文均为个人回忆总结,文章也很冗长,难免有纰漏或者不符合你个人习惯的内...

99614
来自专栏coding for love

从输入url到看到页面的过程分析

我思考了很多知识组织方法来帮助理解网络知识,比如按osi模型从底至上,或者按协议种类,或者按网络发展史。但最终我还是决定选择用这个经典的问题,将网络知识串成线。...

1032
来自专栏FreeBuf

Kali 2.0 安装与使用指南

关于kali使用前的一些配置,网上有很多版本,但是几乎都很雷同,或者是不全,或者是根本就没有测试过,或者是有的方法是错的(换句话说是版本变化的差异),因此让很多...

8605
来自专栏苦逼的码农

【漫画】两台陌生的主机是如何保证数据正确交付的?

小白:你知道吗?数据在传输的时候是分割成一小块一小块传输的,我们把这一小块的数据称之为一个分组。我们在传输这块分组的时候,主要面临两个问题。

993
来自专栏Java架构沉思录

Web安全的三个攻防姿势

关于Web安全的问题,是一个老生常谈的问题,作为离用户最近的一层,我们大前端确实需要把手伸的更远一点。

772
来自专栏同步博客

会话劫持

  在现实生活中,比如你去市场买菜,在交完钱后你要求先去干一些别的事情,稍候再来拿菜;如果这个时候某个陌生人要求把菜拿走,卖菜的人会把菜给陌生人吗?!当然,这只...

903

扫码关注云+社区