当前位置:

首页 > 编程开发 > Python怎么实现批量生成、重命名和删除word文件

Python怎么实现批量生成、重命名和删除word文件

批量生成word文件场景:需要新建多个类似文件名比如:今天的事例是新建12个文件名为:保安员考试试卷1及答案.docx保安员考试试卷2及答案.docx...保安员考试试卷12及答案.docx痛点:手动操作重复性高,出错率高,易造成人疲劳,降低效率;安装pipinstallpython-docxlog(env_qt)D:\code\qt_demo\demo>pipinstallpython-docxLookinginindexes:pypi.tuna.tsinghua.edu.cn/simpleCollec

本文目录

      批量生成word文件

      场景:需要新建多个类似文件名

      比如:今天的事例是新建12个文件名为:

      保安员考试试卷1及答案.docx

      保安员考试试卷2及答案.docx

      ...

      保安员考试试卷12及答案.docx

      痛点:

      手动操作重复性高,出错率高,易造成人疲劳,降低效率;

      安装

      pip install python-docx

      log

      (env_qt) D:\code\qt_demo\demo>pip install python-docx
      Looking in indexes: pypi.tuna.tsinghua.edu.cn/simple
      Collecting python-docx
      Using cached pypi.tuna.tsinghua.edu.cn/packages/8b…
      33/python-docx-0.8.11.tar.gz (5.6 MB)
      Preparing metadata (setup.py) ... done
      Collecting lxml>=2.3.2
      Downloading pypi.tuna.tsinghua.edu.cn/packages/39…
      8/lxml-4.9.2-cp39-cp39-win_amd64.whl (3.9 MB)
      ---------------------------------------- 3.9/3.9 MB 1.4 MB/s eta 0:00:00
      Building wheels for collected packages: python-docx
      Building wheel for python-docx (setup.py) ... done
      Created wheel for python-docx: filename=python_docx-0.8.11-py3-none-any.whl size=184519 sha256=595cd9888a3832964d8f2477f
      fd5325f596549da8c1dd305e63d5f7b3d24884c
      Stored in directory: c:\users\wz\appdata\local\pip\cache\wheels\39\ca\c1\d3e7abe5ce2e8423382d816e689c056bc26590f48fad8f2
      0ac
      Successfully built python-docx
      Installing collected packages: lxml, python-docx
      Successfully installed lxml-4.9.2 python-docx-0.8.11
      [notice] A new release of pip available: 22.3.1 -> 23.0.1
      [notice] To update, run: python.exe -m pip install --upgrade pip
      (env_qt) D:\code\qt_demo\demo>****

      三方库引入

      import os
      from docx import Document

      解释:

      1.在文件路径下会获取文件夹下面所有文件,使用os模块;

      2.word文档的相关操作使用docx模块;

      批量新建文件名

      场景:需要新建多个类似文件名

      比如:今天的事例是新建12个文件名为:

      保安员考试试卷1及答案.docx

      保安员考试试卷2及答案.docx

      ...

      保安员考试试卷12及答案.docx

      痛点:

      手动操作重复性高,出错率高,易造成人疲劳,降低效率;

      def gen_names(pre_fix, num):
          """
          批量生成文件名
          :param pre_fix: 文件名的前缀
          :param num: 文件数量
          :return:name_list :文件名列表(所有要生成的文件名)
          """
          print("生成文件名列表开始")
      
          name_list = []
          for i in range(1, num + 1):
              tmp = pre_fix + str(i)
              name_list.append(tmp)
          print("生成文件名列表结束")
          return name_list

      生成word文件

      生成单个文件

      def new_one_file(document, name):
          """
          生成单个文件
          :param document:
          :param name: 文件名
          :return:
          """
          print("单个生成文件开始")
          document.save(name + '.docx')
          print("单个生成文件结束")

      生成多个文件

      def new_many_file(document, names):
          """
          生成多个文件
          :param document: Document实例对象
          :param names:多个文件的文件名
          :return:
          """
          print("批量生成文件开始")
          for name in names:
              document.save(os.path.join("tmp", name + '.docx'))
          print("批量生成文件结束")

      重命名文件

      def rename_file(path):
          """
          将path路径下的文件都重命名
          规则:在原文件名后面加上 ---> "及答案." 字段
          :param path:
          :return:
          """
          print("重命名开始")
          files = os.listdir(path)
          for file in files:
              name, doc_type = file.split(".")
              new_name = os.path.join(path, name + "及答案." + doc_type)
              file_tmp = os.path.join(path, file)
              # 语法:
              # os.rename(src, dst) :用于命名文件或目录
              # src:需要修改的文件或目录名。
              # dst:修改后的文件或目录名。
              os.rename(file_tmp, new_name)
          print("重命名结束")

      删除文件

      def del_files(path):
          """
          删除指定路径下的文件
          :param path:
          :return:
          """
          print("删除开始")
          files = os.listdir(path)
          for file in files:
              os.remove(os.path.join(path, file))
          print("删除成功")

      函数调用

      if __name__ == '__main__':
          path = r"C:\Users\wz\Desktop\保安员考试试卷"
          document = Document()
          pre_fix = "保安员考试"
          # name_all = gen_names(pre_fix, 10)
          # new_many_file(document, name_all)
          # rename_file("tmp")
          del_files("tmp")

      效果展示

      批量生成文件

      Python怎么实现批量生成、重命名和删除word文件

      批量重命名文件

      Python怎么实现批量生成、重命名和删除word文件

      删除文件

      Python怎么实现批量生成、重命名和删除word文件

      所有代码

      import os
      from docx import Document
      
      
      def gen_names(pre_fix, num):
          """
          批量生成文件名
          :param pre_fix: 文件名的前缀
          :param num: 文件数量
          :return:name_list :文件名列表(所有要生成的文件名)
          """
          print("生成文件名列表开始")
      
          name_list = []
          for i in range(1, num + 1):
              tmp = pre_fix + str(i)
              name_list.append(tmp)
          print("生成文件名列表结束")
          return name_list
      
      
      def new_one_file(document, name):
          """
          生成单个文件
          :param document:
          :param name: 文件名
          :return:
          """
          print("单个生成文件开始")
          document.save(name + '.docx')
          print("单个生成文件结束")
      
      
      def new_many_file(document, names):
          """
          生成多个文件
          :param document: Document实例对象
          :param names:多个文件的文件名
          :return:
          """
          print("批量生成文件开始")
          for name in names:
              document.save(os.path.join("tmp", name + '.docx'))
          print("批量生成文件结束")
      
      
      def rename_file(path):
          """
          将path路径下的文件都重命名
          规则:在原文件名后面加上 ---> "及答案." 字段
          :param path:
          :return:
          """
          print("重命名开始")
          files = os.listdir(path)
          for file in files:
              name, doc_type = file.split(".")
              new_name = os.path.join(path, name + "及答案." + doc_type)
              file_tmp = os.path.join(path, file)
              # 语法:
              # os.rename(src, dst) :用于命名文件或目录
              # src:需要修改的文件或目录名。
              # dst:修改后的文件或目录名。
              os.rename(file_tmp, new_name)
          print("重命名结束")
      
      
      def del_files(path):
          """
          删除指定路径下的文件
          :param path:
          :return:
          """
          print("删除开始")
          files = os.listdir(path)
          for file in files:
              os.remove(os.path.join(path, file))
          print("删除成功")
      
      
      if __name__ == '__main__':
          path = r"C:\Users\wz\Desktop\保安员考试试卷"
          document = Document()
          pre_fix = "保安员考试"
          # 生成多个文件名
          # name_all = gen_names(pre_fix, 10)
          #创建多个文件
          # new_many_file(document, name_all)
          # 重命名文件
          # rename_file("tmp")
          # 删除文件
          del_files("tmp")
      本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
      作者最新文章
      编程开发 Python Word
      相关文章 更多
      线上PDF转Word怎么操作?如何在线转换PDF为Word?
      线上PDF转Word怎么操作?如何在线转换PDF为Word?

      打开PDF.cn的PDF转Word页面,上传文件,核对状态后点击开始转换,下载Word。普通导出型PDF转后基本可编辑;扫描型需先OCR。单次限传1个文件,超过50MB或多份文件建议使用客户端。转换后需检查文字、表格是否错位。

      python删除一个列表里的重复元素的方法与代码示例
      python删除一个列表里的重复元素的方法与代码示例

      学习如何使用Python高效删除列表中的重复元素。本文提供5种常见方法的代码示例,涵盖保持顺序与不保持顺序的场景,适合初学者和进阶开发者参考。

      Python写接口的步骤及完整代码示例
      Python写接口的步骤及完整代码示例

      详细讲解使用Python编写Web接口的核心步骤与完整代码示例,涵盖环境准备、路由定义、数据校验、服务启动及调试测试方法。

      codex怎么读取word文档及docx文件操作教程
      codex怎么读取word文档及docx文件操作教程

      介绍如何利用编程工具读取和解析Word文档(docx格式),涵盖基础文本提取代码示例、结构化数据处理逻辑,以及处理复杂排版时的技术局限与替代方案。

      怎么在Python中调用C语言代码提升性能
      怎么在Python中调用C语言代码提升性能

      详细讲解在Python中调用C语言代码提升性能的完整实践指南,包含原理分析、编译步骤、ctypes与CFFI具体实现、性能对比及常见陷阱。

      Python与C语言的性能差异及底层原理
      Python与C语言的性能差异及底层原理

      深入解析Python与C语言在执行效率上的数量级差异,从编译机制、变量内存布局、动态类型推断到GIL锁,系统阐明底层核心原理。

      Python和C语言哪个更适合编程入门
      Python和C语言哪个更适合编程入门

      客观对比Python与C语言在心智负担、底层机制与学习反馈上的核心差异,提供清晰有据的选择标准与切实的入门学习路径。

      selenium上传文件教程本地文件路径设置方法
      selenium上传文件教程本地文件路径设置方法

      深入解析Selenium处理文件上传的技术细节,涵盖标准HTML控件的路径直接注入法与非标准控件的系统级模拟方案,提供Windows与Linux环境下的路径设置最佳实践及常见异常排查。

      大数据开发语言选型:Java对比Scala与Python的优缺点及适用场景
      大数据开发语言选型:Java对比Scala与Python的优缺点及适用场景

      针对大数据工程场景,系统对比Java、Scala与Python在执行性能、生态结合、开发效率和维护成本上的核心差异,给出清晰的架构选型依据与落地方案。

      langgraph python guide中文入门教程详解
      langgraph python guide中文入门教程详解

      本篇LangGraph Python中文入门教程详解,系统梳理StateGraph状态机定义、节点编写、边与条件路由、检查点持久化(MemorySaver)等核心机制,提供从环境安装到完整循环智能体构建的代码示例与实操指导。

      查看更多
      精品专题 更多
      装机必备
      装机必备

      正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

      Windows
      Windows

      正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

      PDF教程
      PDF教程

      正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

      Mac软件 更多
      讯飞智作 网页版
      讯飞智作 网页版
      Windows/ macOS/ Linux

      讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

      火山引擎 网页版
      火山引擎 网页版
      Windows/ macOS/ Linux

      火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

      Aperty macOS版
      Aperty macOS版
      macOS

      Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

      WINDOWS 更多
      讯飞智作 网页版
      讯飞智作 网页版
      Windows/ macOS/ Linux

      讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

      火山引擎 网页版
      火山引擎 网页版
      Windows/ macOS/ Linux

      火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

      PixTV 网页版
      PixTV 网页版
      Windows

      PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。