上次讲到如何手动快速提取Word文档中的全部图片。此次咱们用Python-3基于图片提取原理,写代码实现自动获取。ide
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就能够了。spa