上次講到如何手動快速提取Word文檔中的所有圖片。這次我們用Python-3基於圖片提取原理,寫代碼實現自動獲取。
Python 3實現代碼
import os,zipfile,shutil #引入os(文件及目錄操作)、zipfile(zip文件操作)、shutil(拷貝文件)庫
def getimage(docdir): #自定義getimage函數,用於實現Word文檔圖片獲取功能
os.chdir(docdir) #改變當前工作目錄到傳遞過來的的路徑
dirlist = os.listdir(docdir) #獲取該目錄下的所有文件夾包含的文件或文件夾的名字的列表
for i in dirlist:
if i.endswith(".docx"): #匹配docx文件
docname = i.split(".") #以“.”做成列表形式
os.rename(i,"%s.ZIP"%docname[0]) #重命名爲ZIP格式
f = zipfile.ZipFile("%s.ZIP"%docname[0], 'r')
for file in f.namelist():
if "word" in file:
f.extract(file) #將壓縮包裏的word文件夾解壓出來
f.close()
oldimagedir = r"%s\word\media"%docdir #定義圖片文件夾
shutil.copytree(oldimagedir,"%s\%s"%(docdir,docname[0])) #拷貝到新目錄,名稱爲word文件的名字
os.rename("%s.ZIP" % docname[0],"%s.docx"% docname[0]) #將ZIP名字還原爲DOCX
shutil.rmtree("%s\word"%docdir) #刪除word文件夾
if __name__=="__main__": #主程序入口
getimage('d:\Python_tool\圖片比對') #調用圖片獲取函數,傳遞目錄
以上是功能實現源代碼,感興趣的小夥伴可以自己動手嘗試一下。另外EXCEL的實現同上,只要把.docx改成.xlsx就可以了。