吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3862|回复: 16
收起左侧

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

[复制链接]
wty1641 发表于 2019-12-27 10:10
本帖最后由 wty1641 于 2019-12-27 10:29 编辑

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

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



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

                                                                                                                                  我也没什么想说的.jpg

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


       这里我们就要用到一个专门用来转换格式的神器:pandoc,可以通过命令行命令实现格式转换的工具,目前版本更新到2.9.1。

       主站链接:https://pandoc.org/index.html
       Github:https://github.com/jgm/pandoc/releases
       既然是通过命令行解决问题的工具,那我们就拿来搞很多事情。下载完成之后解压缩,
                                                                                                                                                2.jpg
      这里面有个关键步骤,要想使该工具在cmd中可以直接被调用,需要将主文件加入到环境变量中。
配置环境变量中加入:
                                                                                                                                             QQ拼音截图未命名1.jpg
     到这里我们就可以在命令行工具中直接调用pandoc来处理文件了。
     只需要调用命令:pandoc  ~.md -o ~docx 即可。
     测试:Pandoc e:\md测试\ input_definition_2.md -o e:\md测试\ input_definition_2.docx


                                                                                                      3.jpg 4.jpg
       转换的准确率非常高。
                                                                                                                                                               嘤,盖世嘤雄.jpg
        那么我们就要开始用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
       正篇部分到此结束,附上pandoc官方给出的可转换类型:
                                                                                                                                    
                                                                                                                                                         
       话说,妹子说晚上请我去她家吃饭,我应该怎么回呢,在线等挺急的。
                                                                                                                                                    微信图片_201912270826597.jpg
       首发知乎,欢迎关注:若尘公子码字码码都不易,点赞收藏关注来一波。

免费评分

参与人数 3吾爱币 +4 热心值 +3 收起 理由
74Y1085 + 1 + 1 我很赞同!
执念i_ + 1 + 1 热心回复!
Starry666 + 2 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

人生苦短丶 发表于 2019-12-27 10:49
开局一条狗。。。不, 一软件,内容全靠编,我只想学习,妹子算什么
黑色切线 发表于 2019-12-27 10:16
bmcys2010 发表于 2019-12-27 10:29
riverwind 发表于 2019-12-27 10:34
挺有用的软件,谢谢分享!
gaoxiaoao 发表于 2019-12-27 10:42
还用问,当然是拒绝啊,我只想学习。
ljw19891989 发表于 2019-12-27 10:47
当然是日后再说了。
dokuro 发表于 2019-12-27 10:51
谢谢你讲的故事,我差点就信了,哈哈!
Spwpun 发表于 2019-12-27 10:52
那么问题来了,你这篇文章为啥没用md,排版看着贼难受!
Tommy90 发表于 2019-12-27 11:10
评论区才是人才集聚地
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-17 03:22

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表