使用python删除word文档中的指定段落,顺便实现一下文档中的图片导出
#! /etc/env/bin python3 #! *_* coding=utf8 *_* from pathlib import Path from docx import Document import os # 从word中导出图片 def extract_img_word(filename='',doc_path=''): ''' docx文档其实也是一个zip压缩包,所以我们可以通过zip包解压它 也可以直接改文件后缀 ''' from zipfile import ZipFile with ZipFile(filename) as zip_file: for names in zip_file.namelist(): if names.startswith("word/media/image"): zip_file.extract(names, doc_path) ''' pip install python-docx https://python-docx.readthedocs.io/en/latest/ ''' #创建文档 def createWord(): document = Document() document.add_heading('Document Title', 0) document.add_paragraph('A plain paragraph having some') document.add_heading('Heading, level 1', level=1) document.add_heading('Heading, level 1', level=2) document.add_paragraph('以下段落需要删除') document.add_paragraph('A plain paragraph') document.add_paragraph('A plain paragraph 新段落') document.add_heading('Heading, level 2', level=2) document.save('H:/temp/test.docx') createWord() #删除指定段落 def delete_paragraph(paragraph): p = paragraph._element p.getparent().remove(p) # p._p = p._element = None paragraph._p = paragraph._element = None def delWordContent(docx_file='',dest_file=''): #读取文本 doc = Document(docx_file) paragraphs = doc.paragraphs i = 0 flag = False for p in paragraphs: i+=1 #print(str(i)) #print(p.text) if p.text.find('需要删除') > -1: #print('找到了') flag = True if flag is True: #print('deleting') delete_paragraph(p) if flag is True: #保存为新文件 doc.save(dest_file) delWordContent(docx_file='H:/temp/test.docx',dest_file='H:/temp/test-new.docx') def testDel(): dest_dir = 'words' for filename in Path('H:/').glob('*.docx'): print(str(filename)) dest_file = str(filename.parent / f'{dest_dir}'/filename.name) delWordContent(docx_file = str(filename), dest_file = dest_file) os.remove(str(filename))
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)