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

该博客介绍了如何使用Python的win32com模块将.doc文件批量转换为.docx格式。通过遍历指定目录下的.doc文件,打开每个文件,然后保存为.docx格式,最后关闭并删除原始.doc文件。过程中使用time.sleep()避免并发问题,确保文件操作的正确性。
摘要由CSDN通过智能技术生成

因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”

欢迎大家批评指正~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@Benron

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值