python3 删除PPT指定的页码,根据关键词是否删除PPT页在这里插入代码片
# encoding:utf-8
from pptx import Presentation
def pptxde(pptpath,pptname):
"""
删除PPT末尾倒数第一第二或倒数第一页
:param pptpath: PPT文件路径
:param pptname: ppt文件名称
:return:
"""
pptlist = []
prs = Presentation('%s'%pptpath)
for p in prs.slides:
for s in p.shapes:
if s.has_text_frame:
text_frame = s.text_frame
for t in text_frame.paragraphs:
pptlist.append(t.text)
strlist = "".join(pptlist) # list 转换成 str
if "baotu" in str(strlist):
sli = list(prs.slides._sldIdLst)
prs.slides._sldIdLst.remove(sli[-1]) # 删除倒数第一页
prs.slides._sldIdLst.remove(sli[-2])# 删除倒数第二页,特别注意要删除多个指定的页,需要添加多个这个代码,改变后面的index号。
prs.save("%s.pptx"%pptname)
else:
sli = list(prs.slides._sldIdLst)
prs.slides._sldIdLst.remove(sli[-1])# 删除倒数第一页
prs.save("%s.pptx"%pptname)
代码功能解释:
上诉主要是,读取PPT内容,根据内容判断是否出现baotu 关键词,如果出现,则删除 倒数第一第二页PPT。没有出现则不删除,因为 baotu 关键词出现在我爬去的PPT模板的第二页。
如果能给你带来帮助,点个关注呗。