AI智能
改变未来

【Python 3 获取Word所有图片】

上次讲到如何手动快速提取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就可以了。

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 【Python 3 获取Word所有图片】