之前遇到一个需求,要将大量的doc文件转化为docx文件,为了省时间给wps冲了个会员
心有不甘,就稍微查了查,发现用10行出头python代码就能解决(就这wps还要会员才干!!!)
直接上代码
from win32com import client as wc
import glob
import os
old_path=r'doc文件所在路径' #例如'C:\Users\17851\Desktop\doc_files'
new_path=r'docx文件希望保存的路径'
word = wc.Dispatch("Word.Application")
files=glob.glob(os.path.join(old_path,'*.doc'))
for f in files:
doc=word.Documents.Open(f)
base_name=os.path.splitext(os.path.basename(f))[0]+'.docx'
new_name=os.path.join(new_path,os.path.splitext(os.path.basename(f))[0]+'.docx')
doc.SaveAs(new_name,12)
doc.Close()
word.Quit()
之所以不直接重命名是因为直接重命名可能导致文件损坏或者成乱码等
不过这个方法也比较简单粗暴不知道会不会遇到什么特殊情况出问题,欢迎反馈!!!
另外要注意运行的时候不要打开要转化的word文件,不然会报错
新文件保存的文件夹要提前准备好(当然也可以通过代码直接生成不过代码就要加几句了)