前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Python 3 获取Word所有图片】

【Python 3 获取Word所有图片】

作者头像
用户6184845
发布2019-09-24 13:20:49
3.3K0
发布2019-09-24 13:20:49
举报

上次讲到如何手动快速提取Word文档中的所有图片。这次我们用Python-3基于图片提取原理,写代码实现自动获取。

Python 3实现代码

代码语言:javascript
复制
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就可以了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 网优小兵玩Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档