用Python写了个程序调用word,运行完后再手动打开word文档就变慢了,这是为啥?

公司归档文件比较麻烦,于是用Python写了个程序自动归档,运行无错误。但是运行完后问题就来了,自己手动打开word文档时速度变得奇慢,打开一个文档需要1~2min,请各位同仁帮我看看。下为源代码

#归档.py

import os

import re

from win32com import client as wc

 

def file(paths,sname,version):

    for path1 in os.listdir(paths):

        m=re.match(r'.*\.docx?$',path1)

        if m:

            path0=paths+'\\'+path1

            print(path0)

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

            w=word.Documents.Open(path0)

            s=str(word.ActiveDocument.Sections[3].Headers[0])

            d=str(word.ActiveDocument.Sections[3].Footers[0])

            t1=re.match(r'TE.{14}',d)

            T1=t1.group(0)

            t2=re.search(r'(\w.*\w)',s)

            T2=t2.group(0)

            if T2.find('\r')>=0:

                T2=T2.replace('\r','')

            t3=re.search(r'(共\d+页)',d)

            T3=t3.group(0)

            w.Close()

            word.Quit()   

            T=[T1,T2,sname,version,T3]

            M='+'.join(T)

            path3=paths+'\\'+M+'.doc'

            print(path3)

            os.renames(path0,path3)

    print('done')  

paths=input('Please enter a path:')

sname=input('Please enter a name for short:')

version=input('Please enter version(default A):')

if version=='':

    version='A'

file(paths,sname,version)

还有就是程序在DOS窗口运行时经常会卡住,不能往下执行。使用IDLE编辑器则运行良好。
跪谢!

阅读 6.2k
1 个回答

你把 .docx 改成了 .doc


与这个无关。我文件夹里的文档本来就都是.doc格式的,并未改后缀名。并且我刚才把程序中的.docx改> 成了.doc,结果还是一样,word的打开会很慢

@movi

看看你的文档是不是原来打开就很慢~

太多的格式,图片,外链……


word对象移到for外边~

    word=wc.Dispatch('Word.Application')
    for path1 in os.listdir(paths):
        …………

    word.Quit()   
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题