需要用到的库:
pywin32、os
实现效果:
把文件夹下的文件1.doc、2.doc、3.doc 转化成1.docx、2.docx、3.docx,保存到output文件夹下。
代码运行前:
代码运行后:
实现代码:
# 批量把".doc"文件另存在".docx"文件
import os
from win32com import client
def doc_to_docx(p,filepath, output_path):
print("路径:{}".format(filepath))
if not os.path.isabs(filepath):
print(f"不是绝对路径")
return
if not os.path.exists(filepath):
print("文件不存在")
return
if os.path.splitext(filepath)[1] != ".doc":
print("文件类型不对")
return
app = client.Dispatch('kwps.Application')
app.DisplayAlerts = False
document = app.Documents.Open(filepath)
document.SaveAs(output_path + "\\" + os.path.splitext(p)[0] + ".docx", 12)
document.Close()
app.Quit()
if __name__ == '__main__':
#需要转换的批量.doc文件所在的文件夹
input_dir = r'C:\Users\Lenovo\Desktop\test'
#转换后保存到指定文件夹
output_path = r'C:\Users\Lenovo\Desktop\test\output'
filenamelist = []
for f in os.listdir(input_dir):
filenamelist.append(f)
print (filenamelist)
for p in filenamelist:
filepath = os.path.join(input_dir,p)
doc_to_docx(p,filepath,output_path)