首页 编程教程正文

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

piaodoo 编程教程 2020-02-22 22:13:59 1298 0 python教程

本文来源吾爱破解论坛

本帖最后由 wty1641 于 2019-12-27 10:29 编辑

        正所谓,不会markdown的技术员不是老司机,自从用上markdown之后,人生又到了一波小高峰。有好东西怎么能不共享之,因此随之我不断的普(hu)及(you),终于办公室所有人都成功地开始使用了markdown。
                                                                                                                           

器张跋扈.jpg (2.5 KB, 下载次数: 0)

下载附件  保存到相册

2019-12-27 10:04 上传



        结果有一天,漂亮的实习生小妹妹梨花带雨跑来要我负责。说是听了我的话,markdown好用到停不下来,结果今天报材料.md格式文件对方打不开,要求只要word版的,你要负责……。我说何等小事如此大惊小怪,现在办公室里markdown编辑器用的都是Typora,本身就具备md格式导出为docx的功能,导出一下就ok了。


        妹子说,来来来,这里500多文件你给我都转成docx的……
                                                                                                                                 

我也没什么想说的.jpg (18.34 KB, 下载次数: 0)

下载附件  保存到相册

2019-12-27 10:04 上传


       扶危济困正是我辈所为,但是我要也一个一个转,那岂不是要到猴年马月去,还怎么维持住办公室一哥的形象,怎么看到妹子眼睛里的小星星,怎么让妹子请我吃饭,怎么…………咳

       这里我们就要用到一个专门用来转换格式的神器:pandoc,可以通过命令行命令实现格式转换的工具,目前版本更新到2.9.1。
       主站链接:https://pandoc.org/index.html       Github:https://github.com/jgm/pandoc/releases       既然是通过命令行解决问题的工具,那我们就拿来搞很多事情。下载完成之后解压缩,
                                                                                                                                               

2.jpg (8.19 KB, 下载次数: 0)

下载附件  保存到相册

2019-12-27 10:04 上传


      这里面有个关键步骤,要想使该工具在cmd中可以直接被调用,需要将主文件加入到环境变量中。
配置环境变量中加入:
                                                                                                                                            

QQ拼音截图未命名1.jpg (5.37 KB, 下载次数: 0)

下载附件  保存到相册

2019-12-27 10:04 上传


     到这里我们就可以在命令行工具中直接调用pandoc来处理文件了。
     只需要调用命令:pandoc  ~.md -o ~docx 即可。
     测试:Pandoc e:\md测试\ input_definition_2.md -o e:\md测试\ input_definition_2.docx


                                                                                                     

3.jpg (33.4 KB, 下载次数: 0)

下载附件  保存到相册

2019-12-27 10:05 上传

4.jpg (73.52 KB, 下载次数: 0)

下载附件  保存到相册

2019-12-27 10:05 上传


       转换的准确率非常高。
                                                                                                                                                              

嘤,盖世嘤雄.jpg (6.41 KB, 下载次数: 0)

下载附件  保存到相册

2019-12-27 10:05 上传


        那么我们就要开始用python搞事情了。
        思路很简单,批量将后缀名为.md格式的文件通过pandoc转换成docx的文件。
[Python] 纯文本查看 复制代码
# -*- coding:utf-8 *-
#导入os模块
import os

dir = r'e:\md测试'

#调用os.walk读取文件名,os.path.splitext筛选后缀名为.md格式的文件,使用os.system在命令行中输入
def path(dir):
    for x, y, z in os.walk(dir):
        for name in z:
            a = os.path.splitext(name)[1]
            if a == '.md':
                file_path = x + '\\' + name
                print('pandoc ' + '"' + file_path + '"' + ' -o ' + x + '\\' + os.path.splitext(name)[0] + '.docx')
                os.system('pandoc ' + '"' + file_path + '"' + ' -o ' + '"' + x + '\\' + os.path.splitext(name)[
                    0] + '.docx' + '"')


if __name__ == '__main__':
    path(dir)




        这样就行了。
        需要注意是的,在os.system中,涉及到目录中含有特殊字符(包括空格)在内的部分,需要将目录部分用双引号包裹起来,这样才能正常识别目录地址。测试结果:
                                                                                                                                                   

6.jpg (116.36 KB, 下载次数: 0)

下载附件  保存到相册

2019-12-27 10:05 上传


       正篇部分到此结束,附上pandoc官方给出的可转换类型:
                                                                                                                                    
                                                                                                                                                          嗨学网
       话说,妹子说晚上请我去她家吃饭,我应该怎么回呢,在线等挺急的。
                                                                                                                                                   

微信图片_201912270826597.jpg (38.36 KB, 下载次数: 0)

下载附件  保存到相册

2019-12-27 10:08 上传


       首发知乎,欢迎关注:若尘公子码字码码都不易,点赞收藏关注来一波。

版权声明:

本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。

有关影视版权:本站只供百度云网盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件告知【754403226@qq.com】,在收到邮件后72小时内删除。本文链接:https://www.piaodoo.com/7861.html

搜索