Python 批量转化doc文件为docx文件

因Python处理中对文件的格式要求,需把doc文件转化为docx文件,详解如下:

import os
from win32com import client as wc
import time
#  注意:目录的格式必须写成双反斜杠
path="C:\\Users\\wbl\\Desktop\\pythonProject1\\"  # 使用绝对地址(可更改)
files=[]
for file in os.listdir(path):
    # 找出文件中以.doc结尾并且不以~$开头的文件(~$是为了排除临时文件)
    if file.endswith('.doc') and not file.startswith('~$'): 
        files.append(path+file)
        for file in files:
            word = wc.Dispatch("Word.Application")
            print("已处理文件:"+files[0])
            # 打开文件
            doc = word.Documents.Open(files[0])
            # 将文件另存为.docx
            doc.SaveAs("{}x".format(files[0]), 12)    # 12表示docx格式
            doc.Close()
            # 删除原doc文件
            os.remove(files[0])
            # 在files数组中删除第一个文件地址(已处理的文件地址)
            del files[0]
            word.Quit()
            time.sleep(0.5) # 暂停0.5秒

对time.sleep()语句的解释:
 time.sleep() 函数推迟调用线程的运行,可通过参数secs指秒数,表示进程挂起的时间。

使用原因:

for循环中,上一个进程刚想执行word.Quit()时,下一个进程就已经开始执行到wc.Dispatch(‘Word.Application’),前后矛盾,导致打开不了,使程序报错:“AttributeError: <unknown>.Open”

欢迎大家批评指正~

猜你喜欢

转载自blog.csdn.net/weixin_52188227/article/details/121750830
今日推荐