公司歸檔文件比較麻煩,于是用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編輯器則運行良好。
跪謝!
你把 .docx 改成了 .doc
與這個無關。我文件夾里的文檔本來就都是.doc格式的,并未改后綴名。并且我剛才把程序中的.docx改> 成了.doc,結果還是一樣,word的打開會很慢
@movi
看看你的文檔是不是原來打開就很慢~
太多的格式,圖片,外鏈……
word對象移到for外邊~
word=wc.Dispatch('Word.Application')
for path1 in os.listdir(paths):
…………
word.Quit()