python 实现docx与doc文件的互相转换

因文件格式要求,需要将docx 与doc文件相互转换,特寻找python代码,与大家共分享

from win32com import client

#转换doc为docx

def doc2docx(fn):

word = client.Dispatch("Word.Application") # 打开word应用程序

#for file in files:

doc = word.Documents.Open(fn) #打开word文件

doc.SaveAs("{}x".format(fn), 12)#另存为后缀为".docx"的文件,其中参数12或16指docx文件

doc.Close() #关闭原来word文件

word.Quit()

#转换docx为doc

def docx2doc(fn):

word = client.Dispatch("Word.Application") # 打开word应用程序

#for file in files:

doc = word.Documents.Open(fn) #打开word文件

doc.SaveAs("{}".format(fn[:-1]), 0)#另存为后缀为".docx"的文件,其中参数0指doc

doc.Close() #关闭原来word文件

word.Quit()

docx2doc(u"d:\\python\\1.docx")

如果想转换为其他格式文件,需要在format文件名内修改,并用如下save as 参数

如docx转换为pDf,用如下语句:

doc.SaveAs("{}.pdf".format(fn[:-5]), 17)

需要说明的是:

要安装OFFICE,如果是使用金山WPS的,则还不能应用

补充:python批量将文件夹内所有doc转成docx

doc转docx函数

import os

from win32com import client

def doc_to_docx(path):

if os.path.splitext(path)[1] == ".doc":

word = client.Dispatch('Word.Application')

doc = word.Documents.Open(path) # 目标路径下的文件

doc.SaveAs(os.path.splitext(path)[0]+".docx", 16) # 转化后路径下的文件

doc.Close()

word.Quit()

path = ""#填写文件夹路径

doc_to_docx(path)

获取文件夹下的所有文件的绝对路径

import os

def find_file(path, ext, file_list=[]):

dir = os.listdir(path)

for i in dir:

i = os.path.join(path, i)

if os.path.isdir(i):

find_file(i, ext, file_list)

else:

if ext == os.path.splitext(i)[1]:

file_list.append(i)

return file_list

dir_path = ""

ext = ".doc"

file_list = find_file(dir_path, ext)

源码

import os

from win32com import client

def doc_to_docx(path):

if os.path.splitext(path)[1] == ".doc":

word = client.Dispatch('Word.Application')

doc = word.Documents.Open(path) # 目标路径下的文件

doc.SaveAs(os.path.splitext(path)[0]+".docx", 16) # 转化后路径下的文件

doc.Close()

word.Quit()

def find_file(path, ext, file_list=[]):

dir = os.listdir(path)

for i in dir:

i = os.path.join(path, i)

if os.path.isdir(i):

find_file(i, ext, file_list)

else:

if ext == os.path.splitext(i)[1]:

file_list.append(i)

return file_list

dir_path = "C:\Users\python"#批量转换文件夹

ext = ".doc"

file_list = find_file(dir_path, ext)

for file in file_list:

doc_to_docx(file)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。

以上是 python 实现docx与doc文件的互相转换 的全部内容, 来源链接: utcz.com/z/331911.html

回到顶部