Python批量提取多目录下多个word文档中的图片

简介: Python批量提取多目录下多个word文档中的图片

title: Python批量提取多目录下多个word文档中的图片
date: 2020-03-27 17:35:25.0
updated: 2020-09-27 20:34:30.0
categories:

  • 代码

tags:

  • Python

写在前面

写这个的起因是源于帮老师收一次作业,要求拍照,于是就收到的各式各样的格式,图片在一个文档中还能直接取出(将 word 另存为网页格式,就能看到所有图片),一个班几十号人,每人一个文档,一个文档中就几张图片,真的很难提取,于是就有了这个项目。。。

实现思路

以 office 保存的 word 文件,修改后缀为 zip 格式,解压后在 word/media 下保存了文档中所有的图片,就很容易实现了,修改后缀->取出 word/media 目录下所有的图片->保存图片即可,
当然你用 wps 保存的文档是 doc,他就不能这么做,要先将 doc 转为 docx(不是直接改后缀名,要修改属性值)
使用的前提是要装了 office

遇到问题

Python3.x 好像都不能安装 win32com,py2.7 可以,Python3.x 可以使用此方法

pip install pypiwin32

多线程处理的时候,报了一个“pywintypes.com_error: (-2147221008, '尚未调用 CoInitialize。', None, None)”的错误,主线程运行的时候就不会,应该就是多个线程共用了一个资源,我们就需要在每一个线程里单独初始化,在 csdn 里找到解决方案如下

import pythoncom

在打开 Word 文件语句之前输入

pythoncom.CoInitialize()

即可解决
另外的一个需求是在提取目录下所有 Word 文档中的图片后,是否需要删除源文档,这就需要每个目录下的文件都由用户输入来决定,可在多线程里面,会将多个线程的等待输入语句一起输出,就不能做到等待用户输入了(我技术不到位,实现不了)
也试过线程锁,以及 thread.join(),好像都无法实现,后来找到一个解决方案,通过图形界面的输入框来实现这个需求即可
还有就是打包成可执行文件时,直接打包会将系统环境中的所有库都打包,程序就会很大,可以使用 pipenv 虚拟环境打包
安装 pipenv

pip install pipenv

为当前目录建立虚拟环境

pipenv install

进入虚拟环境(上一步可省略,因为没有虚拟环境的话会自动建立一个)

pipenv shell

安装程序中所用到的额外包(Python 自带的库就不用装了,装 site-package 下面的),以及 pyinstaller(Python 打包库)即可

使用演示

原来的目录
1.webp
单线程操作
2.webp
多线程操作
1.webp

写在结尾

那个多线程等待用户输入有知道的小伙伴,麻烦说一下呗
软件下载地址:下载 Word 图片提取批处理工具
源码还没上传 GitHub,上传后在更新

目录
相关文章
|
11天前
|
机器学习/深度学习 编解码 Python
Python图片上采样工具 - RealESRGANer
Real-ESRGAN基于深度学习实现图像超分辨率放大,有效改善传统PIL缩放的模糊问题。支持多种模型版本,推荐使用魔搭社区提供的预训练模型,适用于将小图高质量放大至大图,放大倍率越低效果越佳。
|
13天前
|
机器学习/深度学习 文字识别 Java
Python实现PDF图片OCR识别:从原理到实战的全流程解析
本文详解2025年Python实现扫描PDF文本提取的四大OCR方案(Tesseract、EasyOCR、PaddleOCR、OCRmyPDF),涵盖环境配置、图像预处理、核心识别与性能优化,结合财务票据、古籍数字化等实战场景,助力高效构建自动化文档处理系统。
211 0
|
5月前
|
数据采集 Web App开发 JavaScript
基于Selenium的Python爬虫抓取动态App图片
基于Selenium的Python爬虫抓取动态App图片
345 68
|
3月前
|
数据采集 存储 监控
Python爬虫实战:批量下载亚马逊商品图片
Python爬虫实战:批量下载亚马逊商品图片
|
3月前
|
数据采集 监控 算法
Python文件与目录比较全攻略:从基础操作到性能优化
文件比较的核心在于数据指纹校验,通过逐字节比对生成唯一标识,确保内容一致性。从标准库的os与filecmp到高性能第三方库如pydiffx,再到分布式与量子加密技术的未来趋势,文件比较广泛应用于数据备份、代码审查与系统监控等领域,是保障数据完整性的关键技术手段。
86 0
|
5月前
|
存储 机器学习/深度学习 人工智能
多模态RAG实战指南:完整Python代码实现AI同时理解图片、表格和文本
本文探讨了多模态RAG系统的最优实现方案,通过模态特定处理与后期融合技术,在性能、准确性和复杂度间达成平衡。系统包含文档分割、内容提取、HTML转换、语义分块及向量化存储五大模块,有效保留结构和关系信息。相比传统方法,该方案显著提升了复杂查询的检索精度(+23%),并支持灵活升级。文章还介绍了查询处理机制与优势对比,为构建高效多模态RAG系统提供了实践指导。
1315 0
多模态RAG实战指南:完整Python代码实现AI同时理解图片、表格和文本
|
9月前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
355 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
12月前
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
550 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
|
Python
Python学习笔记(28)-Python读取word文本
本文目录 1. 简介 2. 相关概念 3. 模块的安装和导入 4. 读取word文本
197 0
Python学习笔记(28)-Python读取word文本
|
13天前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
186 102

推荐镜像

更多