怎么用python一步步提取PPT中的图片
发表于:2025-01-18 作者:千家信息网编辑
千家信息网最后更新 2025年01月18日,这篇文章主要介绍怎么用python一步步提取PPT中的图片,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、实现原理其实实现原理很简单,我们的pptx文件其实是一个压缩包。我们
千家信息网最后更新 2025年01月18日怎么用python一步步提取PPT中的图片
这篇文章主要介绍怎么用python一步步提取PPT中的图片,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
一、实现原理
其实实现原理很简单,我们的pptx文件其实是一个压缩包。我们可以直接修改pptx文件的后缀,改成zip然后解压,比如下面这个:
这是解压后的文件。我们可以在ppt目录下找到一个media目录,这个目录下就是我们要的图片的。这个目录包含了PPT的所有多媒体文件。
知道这点后,我们就可以选择用Python来解压出PPT中的media目录就可以提取出所有图片了。
二、提取PPT中的图片
1、打开压缩包
在Python中提供了一个zipfile模块用于处理压缩包文件。我们来看看它的简单操作:
from zipfile import ZipFile# 打开压缩文件f = ZipFile("test.pptx")# 查看压缩包所有文件for file in f.namelist(): print(file)# 关闭压缩包文件f.close()
输出的部分结果如下:
[Content_Types].xml_rels/.relsppt/presentation.xmlppt/slides/_rels/slide2.xml.relsppt/slides/slide1.xmlppt/slides/slide2.xmlppt/slides/slide3.xml
可以看到我们打印出了压缩包的文件。
2、解压文件
我们还可以通过下面的方式打开压缩包:
from zipfile import ZipFilewith ZipFile("test.pptx") as f: for file in f.namelist(): print(file)
通过with
语句,就可以不显示地调用close方法。下面我们看看解压操作:
from zipfile import ZipFilewith ZipFile("test.pptx") as f: for file in f.namelist(): # 解压文件 f.extract(file, path="unzip")
解压文件的操作通过f.extract
来实现,这里传入了两个参数,分别是压缩包文件,和解压路径,如果压缩包有密码还需要传入解压密码。
然后我们还需要判断一下,如果是媒体目录我们才解压。我们添加一点代码:
from zipfile import ZipFilewith ZipFile("test.pptx") as f: for file in f.namelist(): # 如果是media目录下的文件就解压 if file.startswith("ppt/media/"): f.extract(file, path="unzip")
这样我们就实现了PPT图片的提取。
三、提取PPT中的图片
我们把上面代码再完善一下:
import osfrom zipfile import ZipFile# 解压目录unzip_path = "unzip"# 如果解压目录不存在则创建if not os.path.exists(unzip_path): os.mkdir(unzip_path)with ZipFile("test1/test.pptx") as f: for file in f.namelist(): if file.startswith("ppt/media/"): f.extract(file, path=unzip_path)
这里我们就是添加了一个解压目录的创建,这样我们执行的时候就不会因为目录不存在而报错了。
另外,其实我们手动解压然后提取PPT中的图片也是很方便的,也并不会比程序慢。
以上是"怎么用python一步步提取PPT中的图片"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
文件
目录
图片
代码
内容
原理
密码
就是
篇文章
两个
价值
兴趣
参数
可以通过
后缀
多媒体
媒体
小伙
小伙伴
手动
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全比赛总结怎么写
如何从数据库取消定时器
交换机和服务器参数对照表
网站的数据库丢失
终端服务器回收价格表
上海通信网络技术产品
中国网络安全生产
求每门课的平均成绩数据库
金山区本地软件开发厂家价格
财济网络技术工作室
数据库参照性完整缺失
局域网代理服务器会自动打开
广州软件开发需要什么
网络安全课后习题第三版
青岛兔多多网络技术有限公司
服务器加cpu需要提升卡吗
数据库原理及应用答案
ip代理软件开发
mac服务器管理工具软件
汽车网络技术的优点是什么
phpstudy数据库闪退
网络安全比赛总结怎么写
java数据库锁
cs1.6互联网服务器
为什么方舟非官方服务器进不去
网络安全宣传周专题揭秘
杭州前端软件开发定制
为什么没有数据库缓存一体
北京综合软件开发一体化
如何黑原神服务器