专栏首页网优小兵玩Python【Python 3 获取Word所有图片】

【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就可以了。

本文分享自微信公众号 - 网优小兵玩Python(Python_tool),作者:网优小兵玩Python

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-09-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python 3 基础语法入门

    模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。常见的...

    用户6184845
  • 【Python 3 集合】

    可以使用大括号 { } 或者 set() 函数创建集合,创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。创建格式:

    用户6184845
  • Python 3 【文件操作】

    Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数。使用 open() 方法一定要保证关闭文件对象,即...

    用户6184845
  • 实战案例解读:数据分析,如何更进一步?

    “我是偏运营/业务分析的,复杂的分析算法我不会,还有什么方法能够对评价类数据做更深入分析吗?”

    用户2769421
  • 探秘|卖房还是收租?大数据告诉你怎样更划算

    房地产的白银时代,市场重心从增量向存量转移,加上土地供给规则的改变,倒逼房地产企业从传统开发思维向服务、运营思维转变。如何通过提高管理、运营存量资产的能力以盈...

    灯塔大数据
  • python3 virtualenv virtualenvwrapper

    安装虚拟环境包装器的目的是使用更加简单的命令来管理虚拟环境。 pip3 install virtualenvwrapper

    Devops海洋的渔夫
  • 数据分析 ——— pandas基础(四)

    利用pandas来进行数据处理的方法太多了,在这里继续更新一下对缺失数据的处理,以及数据的分组,聚合函数的使用。

    andrew_a
  • 浏览器端rsa加密方案

    黒之染
  • python 获取6大币对 区块高度

    用户2398817
  • LeetCode-79 单词搜索

    今天我们学习第79题单词搜索,这个题目是一个典型的DFS,经常出现笔试中,而且模板很固定,最好要熟练掌握。我们先看看这道题的题目描述。

    用户3470542

扫码关注云+社区

领取腾讯云代金券