gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 30 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章python 实现docx与doc文件的互相转换由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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 参数 。

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

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

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

需要说明的是:

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

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

doc转docx函数

?
1
2
3
4
5
6
7
8
9
10
11
12
13
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)

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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)

源码

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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 )

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

原文链接:https://blog.csdn.net/weixin_45903952/article/details/105223595 。

最后此篇关于python 实现docx与doc文件的互相转换的文章就讲到这里了,如果你想了解更多关于python 实现docx与doc文件的互相转换的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com