python 批量md转word
多好一次 人气:0前言;
最近想要实现批量将mardown文档转化为word。网上有很多解决的方法,但是自己保存的md文档在不同的文件夹,而大部分只能实现同一文件夹内的转换,因此稍加改进,得出以下功能。
from glob import glob from pathlib import Path import os dirs = [ d for d in glob("./**/")] # 用在本文件夹内则调整为下列代码 # dirs = [ d for d in glob("./")] # 提取所有的md文档路径 al1_file_pathes=[] for dir in dirs: file_list=Path(dir).glob("*.md") for file in file_list: al1_file_pathes.append(".\\"+str(file)) print(file) # 批量转化所有的md文档为docx for md_path in al1_file_pathes: doc_path=md_path.replace(".md",".docx") command_new="pandoc -s "+md_path+" -o "+doc_path print(command_new) try: res=os.popen(command_new).readlines() if len(res)==0: print(md_path,"已经转化为",doc_path_2) except Exception as e: print(e)
若要将转化的word文档集中到python程序所在文件夹内。
代码如下:
from glob import glob from pathlib import Path import os dirs = [d for d in glob("./**/")] # 用在本文件夹内则调整为下列代码 # dirs = [ d for d in glob("./")] # 提取所有的md文档路径 for dir in dirs: file_list = Path(dir).glob("*.md") for file in file_list: md_path = ".\\" + str(file) doc_path_1 = os.path.split(file)[1].replace(".md", ".docx") command_new_1 = "pandoc -s "+md_path+" -o "+doc_path_1 try: res=os.popen(command_new_1).readlines() if len(res)==0: print(md_path,"已经转化为",doc_path_1) except Exception as e: print(e)
加载全部内容